TypeDown is a Markdown dialect optimized for fast typing on mobile devices.
= typedown
== DESCRIPTION
Typedown is a markdown dialect optimized for fast typing on mobile devices.
The typedown is basically a preprocessor that translates typedown to markdown,
for further processing by a markdown parser.
At the moment the typedown syntax is mainly tested with the iPod touch/iPhone iOS
4.0.1 keyboard. It takes into account looks at how easy it is to get to important
characters on the keyboard, as well as features like auto-capitalizing.
A typical typedown document will look like this:
! Heading
Exclamation mark is chosen because the
first word after it is auto-capitalized. And
it is easier to get to than the hash (#) in the
iPhone/iPod touch keyboard layout.
//. This is a bold paragraph
that might run through several lines
before ending in a double line break.
The dot ensuers the first word is
auto-capitalized.
/. This paragraph is italic.
Single words may be /italic/ or //bold//. Or you
may use standard _markdown italic_ and __bold__
for more flexibility. The slash syntax only
works for single words and whole words, because
the slash may have other uses.
!! Subheading
As typedown is a preprocessor, one is free
to use standard markdown. There is one exception
though. The dash will no longer create
bullet-lists.
- Why? you ask.
- It is used for dialogue instead.
- Why?
- I want typedown to be a tool for journalists and writers.
In some countries, including mine, this is a usual style for
writing dialogue both in newspapers, magazines and fiction.
- Ah! you say. - I get it.
The dash does not auto-capitalize, though. Because of this
there is an alternative syntax:
-. You may add dialogue like this.
-. That dot is ugly.
-. Yeah, I agree. But this actually is faster to type. Saves a lot of shifting.
-. On the iPod again, I guess.
-. How did you know? I ask.
You grin.
!! Link
The bracket is not very accessible on mobile keyboards.
You can create links in textile fashion instead.
"Textile inspired links":http://example.com/
!! Image
And you can use the following cross between textile and
markdown syntax for images. Typedown will produce an image
caption under the image instead of an alt tag.
!"Image caption":http://example.com/image.jpg
== FEATURES/PROBLEMS:
The preprocessor at present is not aware of CODE
blocks or similar, and will not leave your regexps
alone.
== REQUIREMENTS:
Typedown is presently using bluecloth as its markdown
parser.
== SYNOPSIS:
require 'typedown'
doc = Typedown::Document.new content
doc << "! More content\n"
puts doc.to_markdown
puts doc.to_html
Section.sectionize might be nice for extracting headlines
or TOCs.
require 'typedown'
root = Typedown::Section.sectionize content
puts root.title
puts root.body.to_markdown
root.subsections.each do |s|
puts root.title
s.subsections.each do |t|
puts s.title
# puts s.body.to_markdown
# puts s.body.to_html
end
end
== LICENSE:
(The MIT License)
Copyright © 2010 Rune Myrland
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
‘Software’), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.