markdown considered harmful
(or perhaps just a loved but irritating old uncle)
by bowerbird intelligentleman
preface
ok, first of all, you know that the âconsidered harmfulâ expression is an exercise in silly titles, right?, just a bit of humorous hyperbole.
and, as i have just demonstrated â right in my opening paragraph â i am a person who is quite willing â eager? â to state the obvious.
so bear with me.
because though i will be discussing a raft of very real problems with it, i still do not really think markdown could ever be âconsidered harmfulâ.
yes, there are lots of problems with it, and its development _is_ troubled. and iâm gonna be frank about that.
but still, i _love_ markdown. a lot! and if you donât, weâll have to fight.
in particular, if you are one of those meatheads saying âmarkdown sucks, and i donât understand why people canât just write in .html, like i doâ, and you came for a spiel which you expected would validate your opinion, then youâll want to stop reading now, as i have no tolerance for such idiocy.
any writer worth his or her salt knows that writing is hard enough, _without_ dodging all that brackets-and-tags crap in your text, disrupting your thoughts, every <tag> less-than-sign and & ampersand and “curly-quote” an endless parade of needless distractions.
so if youâve somehow learned to ignore garbage strewn about your living-room, well, good for you, meathead, but that doesnât mean that now everyone else has to tolerate it in our living-rooms.
so just walk away now, while you can, so i donât have to ridicule you further. <a class=âi_mean_it_just_walk_away_and_do_it_nowâ></a>
because i love markdown.
and, later, i will explain why, in detail, with some history and some analysis.
but hey, i know you internet kids. i used a âconsidered harmfulâ title, and you jumped on that link-bait, so the last thing i can do now is to bait-and-switch by making you first sit through some history lesson or wallow through reasoned discourse.
no sir, you came for a screed, and if i do not give it to you, _now,_ you might take it out on me, i know.
indeed, you probably already think that this is getting too long-winded. (assuming you even made it this far.)
so, if youâre one of _those_ people, hereâs your meaty list of shit, quick!, for your tl;dr attention-deficit mindset.
the screed
hereâs âthe good, the bad, and the uglyâ, in _reverse_ order, to end on a positive, where i can continue on from that point to embark on a more thoughtful review.
the reflective readers can stick around for the whole thing, and think.
while the accident-lurkers among you can speed off to seek your next thrill.
the ugly
for the truly ugly parts of markdown, weâll need to start at the very outset.
gruberâs original spec for markdown is _too_ _primitive_ for todayâs .html needs.
to give just one little example of that, it doesnât automatically formulate the id tags needed on headers in order to have internal links in a document _or_ to allow deep-linking from the outside.
given the web of today, that would be something that made it a non-starter. heck, even in the web of 2003, that _should_ have made it a non-starter.
there are other omissions like that too.
moreover, extensive usage showed us âclassicâ markdown is plagued by more than its fair share of âambiguitiesâ in the features which _are_ included, because itâs insufficiently complete.
and last but not least, there are even inconsistent âedge-casesâ, where gruberâs descriptions of the âspecâ contradict themselves.
of course, what can you expect from a perl script filled with reg-ex crap, which has seen one (count âem â 1!) update in 10 years? yep, exactly that.
so first, classic markdown doesnât do _enough_ stuff.
second, itâs too silent on stuff it _does_ do, when it should be explaining it clearly.
and third, even when it does explain, inconsistent edge-cases pop up.
putting it starkly, gruber-markdown simply ainât sufficient for prime-time. it has just got too many shortcomings and problems.
i mean, fine, if all youâre using it for is the comments on your web-site, or to write your 4-paragraph blog posts; these shortcomings will not bother you.
but once you are doing real documents, you will experience the burn, you will.
because the gruber-classic-markdown is _lame._
to realize this is what people _mean_ with generic references to âmarkdownâ â nearly every âhelpâ link goes to gruberâs page â is enough to make you cry in despair.
whenever i hear someone say âmarkdownâ to describe what they used for a text, and they donât name a specific flavor, when i know theyâve clearly used one, because generic markdown just cannot do the type of stuff they have done, it reminds me of relatives having web problems, so i ask them which browser theyâre in, and they say âthe internetâ.
the fact that few people know about the gruber-markdown shortcomings, or the wide variety of extensions, is because they use markdown only in the most superficial of ways.
(this is also why you hear them repeat the lie that âit only takes 5 minutes to learn all about markdownâ; yeah, right.)
and gruber has reinforced this notion that âmarkdownâ is a superficial tool, insisting that, as far as heâs concerned, his version of it is a finished product.
um, gee, ok, it might well be âfinishedâ, but itâs nonetheless _badly_ _incomplete._ far too primitive for what we need today.
and thatâs the ugliest thing about markdown. the guy that gets all the credit for âinventingâ it doesnât even mind that itâs so damn primitive. itâs as if he cannot even hear himself praising apple for its âconstant iteration toward an even better product.â which is terribly ironic.
the bad
even if itâs âgood enough for gruberâ, the rest of the world has needs which often go beyond the mere superficial, so classic-markdown is _not_ âenoughâ.
plus itâs only natural that people will improve any tool to get what they need.
the first wave of people to embrace markdown use was comprised by coders who simply ported gruberâs perl script to their particular language compiler, be it php, python, ruby, or whatever.
but these individual developers also âextendedâ markdown, to improve on it â for their own use and viewpoint â by addressing its shortcomings, and were usually fairly successful at that.
itâs typically quite easy enough to invent a light-markup rule that will accomplish the outcome that you want, whatever that outcome might be. and the shortcut is pretty easy for you to remember, and use consistently. so people threw in whatever they needed.
some of them added just a couple things. others put in a full range of new stuff.
each person invented their own âflavorâ.
every developer solved a different set of problems, and did it a different way.
well, of course, as youâd expect, soon the various reformulations grew terribly out-of-sync with one another.
the flavors clashed. they clashed badly.
not only did they do different things in different ways, they often did the same thing different ways, and different things in the same way. so, total chaos.
for a long time, few people noticed it, and even fewer minded. but as needs to transport markdown files from one system into another started to become common, these incompatibilities grew bothersome.
so they became difficult to ignore, and thus began to be grudgingly acknowledged, then recognized as serious, until finally, they were finally noted across the board by everybody with extensive experience.
so while developers plugged big holes in gruberâs too-primitive classic-markdown, they have also exacerbated problems with the inconsistencies, to the degree that nobody is certain what âmarkdownâ does now.
so, if you feel that you have a certainty, you should prepare yourself for the shock â if you need to use some other flavor â when it doesnât act like you think it will.
further, because of the markdown flavors doing different things, and differently, the underlying âmental modelâ has grown to be badly fragmented, so any reliance on âwhat seems intuitiveâ is no longer a dependable guide on what will happen.
this shattering of the âintuitiveâ asset might prove â in the long run â to be the most serious problem of all of them.
moreover, despite continuous calls for a âstandardizationâ of markdown, the various developers all have a stake in their own personal vision and product, therefore, none wants to âstandardizeâ his flavor out of its very existence by making it âredundantâ with another one.
their recalcitrance has become so firm that they donât even bother to debate new proposals in dialog or discussion; they simply fail to respond in any way. which is probably good, in that it saves everyone lots of wasted time and hope; but it wonât, you know, yield a solution.
so we have these problems being caused by this plethora of developers iterating â separately â around a shallow core, fragmenting a pathetic entity too weak to stand by itself independent of them, and now they are resisting any solution to this big jigsaw puzzle because each one is holding tightly to his own little piece, reluctant to sacrifice it to another player.
and thus the problems are now intractable.
itâs worth noting that gruber has thus far stared down all attempts to fix this shit. perhaps recognizing the futility of _any_ chance of consensus, he will not even try. he just continues to insist _he_ is happy.
meaning there is nothing on the horizon. no white knight; nix on prince charming.
so, as the uptake for markdown increases, a ton of users will get bit in their butts. and the more that come in, the more that will experience a need to cross flavors, and find themselves bitten in their butts.
so even as the positive affect climbs up, as more and more people stumble upon the appeal of light-markup and come to love it, so too will the negative affect tag along, correlated strongly; and that, my friends, is the state we label âsevere ambivalence.â
probably not the zone you want to be in.
but markdown has been tied to the tracks, and the only thing coming now is a train.
it is inevitable. the only way that you can _not_ _see_ _it_ is to close your eyes.
itâs a good thing world peace does not hang in the balance. âjust documents.â
the good
now that weâve done âuglyâ and âbadâ, we can move on to âthe goodâ. hooray!
this is where all the people who came for a rant can leave now. see ya later!
when we consider the good news for markdown, we note that it is now showing up _everywhere._ and the signs are that itâll keep growing, possibly even faster than its current rate.
the cause of light-markup is well-served!
so letâs point our telescope at three stars shining most brightly up in markdownâs sky.
john macfarlane
âpandocâ â http://johnmacfarlane.net/pandoc â is a tool that converts between a bunch of text-file-formats and systems, _including_ markdown, so it can be extremely useful, and is one of the few brighter spots in this mix.
one part of the f.a.q. on the âpandocâ site documents the many inconsistencies between _some_ of the many various markdown variants â but not all, as new implementations are cropping up regularly, with new wrinkles â while another section over there considers: âwhat are some big questions that markdownâs specification does not answer?â thus, if you were wondering whether i maybe âexaggeratedâ all the glitches, as a stunt for the lurkers, you should check out the full array of stuff.
(and you will realize that i _chose_ to _not_ throw meat to all those rambunctious coyotes, or i would have pointed to this page up above, and detailed it all in an excruciating manner.)
> http://johnmacfarlane.net/babelmark2/faq.html
the f.a.q. section also has a web-app which lets you input real-life markdown fragments to each of the various flavors to learn what each one actually delivers for that fragment. so much handier than installing all of them.
again, if itâs important in any way for you to know the state of uncertainties in the markdown arena these days, you absolutely must definitely delve into details there, so youâll grasp the scope of the nightmare.
or if youâre _experiencing_ glitches in a markdown file, this is a great resource to help you debug the crappiness. and if you come up with something new, file a report.
john macfarlane is the berkeley professor who makes the _free_ _and_ _open_ âpandocâ, meaning he has donated a boatload of time to the cause, and that deserves recognition.
so if you need conversions for other formats for markdown to be viable in your workflow, pandoc is the _first_ tool you should review.
âpandocâ has proven itself, over and over, as being a tool that is extremely valuable.
fletcher penney
likewise with âmultimarkdown composerâ as a tool thatâs proven it is very valuable.
âcomposerâ is a text-editor purpose-built for âmultimarkdownâ, by fletcher penney; he is the creator of âmultimarkdownâ, so integration of the two is nice and tight.
âmultimarkdownâ is the markdown variant which is the most powerful of all of âem, so it was already the leader of that pack, even before fletcher programmed âcomposerâ.
âcomposerâ is a mac text-editor app that funnels its text through âmultimarkdownâ to create output, primarily in .html form (the typical output of markdown flavors), but now also as .rtf, and .pdf, and .epub.
âmultimarkdownâ format is _free,_ but â to justify all the time spent coding it â âcomposerâ is a $12 commercial mac product, readily available over at the mac app-store.
because âcomposerâ is geared specifically toward âmultimarkdownâ, it makes it easy to write and edit your text in that format.
for instance, letâs say that you are making an ordered list, and you have just finished typing an item there. when you hit _enter,_ âcomposerâ automatically inserts the coding to indicate the start of the next list item, so you can just start typing away at that. hit _enter_ at the end of that, and youâre ready for the next item. at the end, press _enter_ twice in a row, and the app knows that the empty item signals that youâre done with the list, so it deletes that empty item. it sounds like a little thing, and, by itself, it is. but when it gets combined with many such little helpers, it all adds up, and you will find you get used to them quite quickly.
as âmultimarkdownâ is the best variant â with more power than other flavors â and holds a slight edge over the others, i once thought that his âcomposerâ would allow fletcher to break clean from the pack of markdown flavors and take a huge lead (since none of those other flavors had the benefit of an editor specialized for them), thus resolving the inconsistency log-jam, by virtue of âmultimarkdownâ becoming the âde facto defaultâ markdown flavor standard.
but fletcherâs initial updates came slowly; âmultimarkdownâ is still leading the pack of all the markdown flavors, but it hasnât broken out to the point that they all quit.
and part of the reason is that the other markdown flavors soon received one of the most significant advantages âcomposerâ briefly had to itself â a live preview.
and for that development, behold the third star in our markdown firmament.
brett terpstra
the best thing for markdown at this time â no doubt about it â is brett terpstra, who created the markdown-live-preview app for mac desktops that is called âmarkedâ.
âmarkedâ is also a $12 commercial mac app.
it lets you use your favorite text-editor â any app that saves a plain-text file â to write your markdown-formatted text-file, and then âmarkedâ will monitor that file being _saved_; when it discerns a new save, âmarkedâ converts the file, in real time, to show you the resultant .html, _live,_ side-by-side next to your text-editor app.
this instant preview â _while_ you are actively editing â is quite informative, and the fact that you can pair âmarkedâ with _any_ text-editor makes it special.
âmarkedâ does nothing that will give your text-editor app any special âmarkdown mojoâ (youâll have to apply things âmanuallyâ), so itâs not quite as good as âcomposerâ, but a live-preview is worth $12 by itself. (especially when youâre editing âby handâ.)
i have long held that the side-by-side interface is a vitally-important factor, when using a light-markup system, since it creates a distinct mental separation between the _input_ (plain-ascii text) and the _output_ (nicely-formatted rendering).
input in one window, output in the other.
it keeps everything straight in your head.
this gets at one of the crucial topics in discussing text-editing these days, especially pertaining to the web and a struggle to ditch ms-word, to make text âsemanticâ, not âpresentationalâ.
since most of our users grew up using word-processors, their modus operandi is to âmake it look goodâ, which doesnât translate so well to our new web world, where output displays arenât as fixed as ink put on an 8.5*11-inch sheet of paper.
to emulate the w.y.s.i.w.y.g. approach which our users have fondly embraced, in a decades-long love-affair with the wonderful miracle of word-processors, some coders have strived to develop a âhybridâ light-markup interface which will _combine_ the input and the output â smooshes both into a single window â but i firmly believe that will only cause confusion for the users. (not to mention for the designers of such an interface.)
in my strong and longly-held opinion, a âcombination modelâ is the _worst_ possible approach we could be taking, precisely since it confuses the issue.
no, we should do exactly the opposite!
we need users to understand that input and output are fully separate, and also that the only way theyâll get the output they want is to make edits to the input.
this embraces the strong user desire to âmake it look rightâ, while constraining their edits to ones accurately reflecting the textâs underlying structural integrity.
in other words, if the _only_ way you can âmake it look rightâ (on the âoutputâ side) is to tag it correctly, i.e., structurally, (on the âinputâ side), youâll tag it right!
the secret answer to that hard question of âhow do we get people to stop making it look right?â is âstop trying to make them, and take advantage of their inclinationâ.
but the only way to invoke that mentality is for us to use a side-by-side interface, so the input and output remain separate; not just on the screen, but in your mind!
the distinction is especially crucial when you are _learning_ markdown, but itâs also still valuable when you are _writing_ it, since using the live preview window while you are working gives immediate feedback whenever you have tagged something wrong.
and i firmly believe that if you experiment with a 2-up live-preview method of working, you will rapidly come to see what i mean.
so i cannot recommend âmarkedâ enough â especially if youâre _learning_ markdown!
plus brett just came out with version 2, which offers a brand-new slew of tools (e.g., one to highlight word-repetition) thatâll be of good utility to most writers:
nor is âmarkedâ the first trip to the rodeo for brett, either; he is an old hand there.
brett has also scripted several mac-os âservicesâ for lots of markdown tasks. matter of fact, go see all his âprojectsâ:
> http://brettterpstra.com/projects
but of special interest to markdown, see the section for âmarkdown-service-toolsâ.
and, in particular, see this one; brett has a web-app, over at http://markdownrules.com, which offers converters that will translate both directions between markdown and .html.
so say there is a web-page and youâd like to have its text in markdown format? easy! just put the u.r.l. into brettâs converter:
brett also scripted a âbulls-eyeâ plug-in, where you can select text from a web-page and then have that converted into markdown.
and brettâs projects go on and on and on.
so heck yeah, go see everything from brett. odds are you will find more than one thing that helps you in your particular workflow.
***
so, in this âgoodâ section for markdown, iâve featured the work of three individuals, all talented, all working very hard, and all contributing great stuff to the community of markdown users. big thanks to all three!
there are, of course, _many_ people who have made contributions, in the past and continuing into the current-day, but these three individuals went far beyond the call.
after the next section, on the future, iâll talk about some other markdown-related apps that you should be familiar with today, and highlight a couple other things to consider.
but for now, letâs look ahead a little bit.
markdownâs future
so, next, we look to markdownâs future.
as more and more people start using markdown in more places to accomplish more things, theyâre bound to experience the problems that iâve discussed here, and they will then realize these infrastructural shortcomings.
so â right along with inevitable growth â markdown will have an equally-inevitable concurrent dissatisfaction that also grows.
which will be kind of crappy for markdown.
yet still, at the same time, markdown will continue to do the tasks perfectly well on most of those things people use it for now, such as blog pieces, comments, and the like.
when your text has under 11 paragraphs, and doesnât really need much formatting, like a github read-me, markdown is fine.
and even if youâre doing a long document, with loads of styling, markdown will work well enough for a clear majority of needs.
as living proof of this, many apps now do their manuals in markdown, and handling of these not-all-that-simple documents is done quickly and easily, without problems.
itâs not true of gruber-classic-markdown, but most of the extended flavors can now give whatever you need for many documents. multimarkdown in particular is full-serve.
and you will not experience many problems _provided_ you stay with the same flavor.
but you have to stay with the same flavor.
itâs only when you think you can painlessly switch from one flavor to some other flavor that you might well be in for a big surprise.
so ensure, before you start your document, that the flavor youâre using can handle it.
because you donât want to have to switch.
but even a switch wonât be insurmountable.
if you do find you have to change flavors, a quality-control pass on the new output should be enough to see incompatibilities, as long as itâs a sharp-eyed close review.
(very sharp-eyed. very close. important.)
but you _should_ be doing quality-control often anyway, as a best-practice workflow.
in other words, as long as you are properly sensitized to a real possibility of glitches, they might cost you some time and energy, yes, but itâs unlikely theyâll bite you in the butt.
it is only if you do not have the wisdom or experience that glitches hide in markdown that youâll be surprised _when_ they bite. (thereâs no _if_ about it; they _will_ bite.)
still, their bite is probably no worse than the âconsidered harmfulâ bark iâve just made, in my title here, so donât worry, youâll live.
a few more things
so letâs talk about a few more things, in terms of how we got to our present-day state with markdown. this will be kind of a history lesson.
first of all, as you can probably tell, no, sincerely, i do not hate markdown.
to the contrary, in _many_ ways, iâm a long-time fan of markdown. and iâll make sure you know that.
light-markup
heck, i loved markdown before it _existed._ because markdown is whatâs known as âlight-markupâ.
which, if you consult wikipedia, gets called âlightweight-markupâ.
> http://en.wikipedia.org/wiki/lightweight_markup_language
but i donât think itâs âlightweightâ at all; i believe itâs a heavy hitter.
i _love_ _love_ _love_ light-markup! iâve loved it for well over a decade!
so, to repeat, iâm a long-time fan of markdown specifically and also all other types of âlight-markupâ, going back to ârestructured-textâ, which was one of the original ones.
(ok, actually âstructured-textâ was probably _the_ original, but it got re-mixed into ârestructured-textâ.)
restructured-text
ârestructured-textâ is well-known, since the python community has been using it for a long time as its primary format for documentation.
> http://docutils.sourceforge.net/rst.html
as that implies, restructured-text has proven itself to be up to the task of doing technically-oriented material for a technically-oriented audience.
so much for the âlightweightâ slur.
ascii-doc
âascii-docâ is another format which has enjoyed wide implementation, even though it is even less well-known than ârestructured-textâ.
ascii-doc can generate output in a large variety of formats, proving itself in an impressive range of situations, even more so than restructured-text.
since âascii-docâ is also one of the âheaviestâ forms of light-markup, itâs not a surprise that it gets most of its attention mainly from a plethora of larger organizations.
for instance, ascii-doc was adopted by many in the oâreilly camp nowadays, and is now used as the primary engine for their newest system, called âatlasâ, which they steer their authors toward.
> http://atlas.labs.oreilly.com
âatlasâ also takes markdown as input, but it makes clear that markdown is not really fully up to snuff for the job.
(it mustâve really killed some people over at oâreilly to eat crow and admit that i was right all along when i was lecturing them to favor light-markup, laughing at their docbook bloatware, and heaping scorn upon their blatant x.m.l. promotion at their conventions for the publishing industry, ones which they no longer even bother to conduct, probably because theyâre embarrassed to concede that all of their advice was wrong, wrong, wrong, wrong, wrong.)
textile
among other tech kids, âtextileâ was often one of their first exposures to any form of light-markup, and thus it initially enjoyed good prominence, especially when it was fairly newish.
while not disappearing entirely, by any stretch of the imagination, it has nonetheless faded in importance, as evidenced by the fact that the best link i can give for it is wikipedia.
> http://en.wikipedia.org/wiki/Textile_(markup_language)
in the early days, restructured-text, ascii-doc, and textile were the top three.
despite the numerous other players â which could also include all of the wiki-markup-oriented derivations â in the light-markup game, those three were the leading contenders at the top of the light-markup heap.
markdownâs arrival
but then markdown rode into town.
markdown came from john gruber, who was ascending on the wave of bloggingâs big rise, and it benefited from the exposure which he gave it.
and thus markdownâs adoption continued to grow along with gruberâs audience.
true, for a while, that adoption was limited to relatively âminorâ places, like the comment sections of blogs.
but in the last few years, markdown has leveraged critical mass for itself.
it is used at http://stackoverflow.com and http://github.com; considering that these sites have a massive following among techies on the cutting-edge, it was easy to predict a blossoming.
as these techies were exposed to the ease and convenience of light-markup, they were converted to its usefulness.
so, sure enough, now markdown is appearing in all kinds of tech places, including ones of some significance.
among these new appearances was a recent emergence of âstatic blogsâ. tech-minded people found it simple to create a mass of plain-text-files, and then use a markdown script to convert them to the .html-files that can then constitute their static blog.
this movement away from mysql to a flat-file approach is one that might ramify deeply in the future.
and techies have been increasingly using markdown to make manuals and documentation for their apps.
even these people, for whom .html comes ânaturallyâ, seem to want to use a light-markup format instead, both to avoid the tedium of markup and to be able to edit âcleanâ text.
the fact that the techies now prefer predominately to use light-markup is quite an important demarcation.
markdown in public
and it wasnât just techies focused on handling of their own content, either.
developers soon realized that it was a benefit for âunsophisticated usersâ to let them write in markdown, so as to spare âem from the pain of .html. (and to ensure their input was clean!)
i.o.s. apps
the most stark place for new uses happens to be the ipad and iphone. literally dozens of i.o.s. apps use markdown these days, thanks to its high profile among developers.
this is especially true because many of the apps on those machines are geared towards jotting down notes, not whatâs typically called âwritingâ.
so i wonât focus much on those apps, as thatâs an essay of its own, but also because iâm much more interested in the use of light-markup for âwritingâ, so, for that, we will turn to the web.
if youâre curious about i.o.s. apps, brett terpstra made a review page:
> http://brettterpstra.com/ios-text-editors
for the record, brettâs summary table has entries on 99 different i.o.s. apps!
you can also search the app-store for âmarkdownâ for a sense of the breadth.
of course, lots of the i.o.s. apps are hooked up with the web as well, so a person can work on a file _either_ with a mobile device or on the web.
but it sharpens our attention to look at web-sites that focus on _writing._
draftin dot com
a number of new sites have writing â and re-writing, version-tracking, editing, collaborative writing, etc. â as their primary reason for being, and incorporate markdown as well.
one of the best examples is âdraftâ:
âdraftâ is a site that has gotten lots of praise, from a wide swath of people, and has a healthy base of users, some of them paying the reasonable price of $3-per-month for the service, which hyped easy version-tracking as its primary benefit when it started out, but has since offered a number of other services that are of value to the writer.
editorially
markdown is also used at âeditoriallyâ, a site coming out of a very long beta, targeted on the collaboration process occurring between writers and editors.
ghost
and again, returning to blogs for a bit, one of the most high-profile initiatives in the blogging world today â âghostâ â made big noise about using markdown, as one of its marketing messages in a kickstarter campaign that made its goal within a few days, and then went on to raise some $300,000+ by its conclusion.
âghostâ has recently begun to be released, and it will be of particular interest to me, since it has made the 2-up input/output user-interface a major jewel in its crown, so many people will be encountering it for the first time in constant heavy use, and iâm curious as to how theyâll react.
wordpress
and i should mention that âwordpressâ just this week announced that it is now supporting markdown in its editor. whether or not this is in response to the âghostâ initiative is not clear; it may, or perhaps itâs a coincidence.
dillinger
but even long before âghostâ, markdown was being adopted by web-apps which employ a methodology of cloud-storage, where you control where files are saved.
one of my favorites there is âdillingerâ, which also has the 2-up user-interface.
âdillingerâ can save your files to âdropboxâ, âgoogle-driveâ, or âgithubâ â your choice.
like i said, âdillingerâ is one of my favorites, of these online editors, but there are _lots_ of them, all basically pretty much the same, so look around until you find your favorite. a recap of them all would be another essay.
simplenote
but iâll mention one another important one, however, namely âsimplenoteâ, because it was an early cloud-based note-taking app that used plain-text as its primary format, and it built an excellent _sync_ capability which other similar apps could use as well.
âsimplenoteâ sync was known for its speed and for the high quality of its performance. these are both hard problems, which giants (like apple) have stumbled on (often badly), so it was great for a small guy to get it right.
âdropboxâ is the gold-standard in this regard, but many developers claim âsimplenoteâ sync is even faster and more accurate, high praise. (although, in fairness, âsimplenoteâ only does plain-text files, while âdropboxâ does all types.)
âsimplenoteâ made it very easy for developers to use their service, in the early days, thereby earning the admiration of many early-adopters.
âautomatticâ, makers of âwordpressâ, recently purchased âsimplenoteâ â mainly because of âsimperiumâ, its sync â so itâs big-time now. and with editors for i.o.s., the mac, android, and the web, âsimplenoteâ is a shining pointer toward a new reality where all our documents are available to all our machines all the time. (and perhaps this is why âwordpressâ itself is now supporting markdown in its own editor.)
long-form light-markup
now letâs swing back to long-form stuff again, because long-form is my specialized interest.
you might wonder what i mean by âlong-formâ.
it should be obvious that âlong-formâ refers to a text that is longer rather than shorter, but other considerations also come to bear.
_books,_ of course, are the prototype of the long-form document, but i define long-form more broadly as âany document that contains easily-differentiated sections and thus benefits by offering a table of contents to the readerâ.
in a book, those sections are âchaptersâ, plus the front-matter and back-matter parts; but under this definition, a scientific article would qualify as well, with sections like âtitle pageâ, âabstractâ, âintroductionâ, âmethodâ, âresultsâ, âdiscussionâ, âreferencesâ, and âappendicesâ.
likewise with an annual report, a legal brief, a manual for a gadget or car or appliance, or (as iâve mentioned) software documentation.
in this respect, a long-form document will often resemble a full _web-site_ â with each section living on its own web-page â and not merely one individual _web-page,_ which is the product typically pictured as the output from markdown.
leanpub
web-sites that help writers create long-form are just starting to pop up, in what appears might be a big trend, but thereâs one that has been around for a couple years already, and deserves mention.
itâs called âleanpubâ, and it can be found here:
more than just an authoring-tool, leanpub also offers services as a bookstore, and is touting a ârelease-early-release-oftenâ publishing model, where it makes a book available to purchasers while it is in the process of being written so that the book can (hypothetically) be strengthened by the feedback provided by the early purchasers.
as a publisher/bookstore/whatever, leanpub pays great âroyaltiesâ â in the range of 90% â and gives its authors/publishers/whatever the ability to offer _variable_ _pricing_ on a book, a flexible touch. (it also lets authors donate royalties to a charity.)
while i sincerely doubt that a ârelease-oftenâ model is the best one in todayâs world, where people are too busy to read a book once, let alone many times just to see whatâs been changed between versions, i certainly think that itâs an experiment worth trying, and iâm glad somebody has the balls to do just that.
there are other things i donât like about leanpub â like the workflow which forces its users to chop up their books into a separate file for every chapter, which i have found increases consistency errors â but as they say, âthatâs what makes a horse-raceâ.
and i do commend âleanpubâ for creating a platform that concentrates on the long-form book experience.
scrivener
while weâre on the topic of books, letâs swing back, for just a minute, to the world of offline programs, because a big one in regard to books is scrivener.
scrivener is far more than a markdown text-editor; itâs a smorgasbord of capabilities for writing books (cork-storyboarding, an outlining tool, and so on). itâs probably over-the-top bloated functionality for most markdown users, who generally tend to favor the âdistraction-freeâ side of the âbusyâ continuum, but it would be a clear omission not to mention it, since scrivener is one of the few book-focused apps. as such, it offers .epub output, not just typical .html.
> http://www.literatureandlatte.com
further, itâs a revealing fact that many users who _do_ love âscrivenerâ love it _very_ _strongly._
so if you think youâd like a book âproject managerâ â which is how the âscrivenerâ hype describes it â for your writing endeavors, check out âscrivenerâ. any program that earns this much loyalty is special.
texts dot app
and as we are talking offline, if only for a brief time, i can mention another few apps that are stand-out, in that they have a considerable book perspective.
one is called âtexts.ioâ. first of all, it is cross-platform, with programs for both mac and p.c., and i.o.s. too.
further, it outputs .pdf, ms-word.doc, and even tex, in addition to the expected .html and .epub e-books; so that represents a rather complete package of rad. and, for a limited time anyway, it costs less than $15. âtextsâ is one of the apps that attempts to combine âinputâ and âoutputâ in the same window, so if you think you would be attracted to that method, try it.
textastic
the other is called âtextasticâ. thereâs no p.c. version, but there are versions for iphone, ipad, and the mac. this is a programmerâs editor, with syntax-coloring â yes, the colors are applied to markdown syntax â but itâs handy as it syncs to either dropbox or icloud.
one more section here, and then weâre all done.
zen markup language
i, too, have developed a system for long-form texts, one thatâs firmly grounded in a light-markup format thatâs called âzen markup languageâ, z.m.l. for short.
my light-markup system differs from markdown in that it: 1) is targeted at long-form documents, such as books, 2) avoids the problems which plague markdown, 3) focuses on lightness as an asset that _eases_ _editing_, rather than as something that _fosters_ _readability_ _of_ _the_ _raw_ _format_ (as thereâs no reason to read the file in that raw format).
speaking of readability, as well as my focus on long-form, .html is not the only output format supported by my system; it also generates .epub, .mobi, .pdf, and (soon) slide-show presentation modules, and iâm always on the lookout for still-to-come formats. (iâve also coded my own e-book viewer-apps for the format, of course, which are very powerful.)
z.m.l. was derived from e-texts at project gutenberg â i have been working on it for over 15 years now â so it springs from the structures found in actual books, a focus which differs philosophically from markdownâs source (i.e., things that are possible in .html on a web-page). my targeting of the long-form in general, and books in particular, provides a rich field of suggestion about the functionalities that need to be provided.
perhaps most significantly, from the standpoint of this âconsidered harmfulâ essay, however, is the fact that with z.m.l., i intend to sidestep some of the problems inherent in markdown, or which have emerged with it.
summary
in conclusion, letâs review the problems with markdown.
1. gruberâs classic version is far too primitive.
2. gruberâs classic version isnât detailed enough.
3. gruberâs classic version exhibits edge-cases.
4. gruber continually refuses to acknowledge this.
5. the extensions added capabilities haphazardly.
6. the extensions often conflict with each other.
7. the extensions destroy the âintuitiveâ asset.
8. the extension developers refuse to collaborate.
9. markdown infrastructure isnât cross-plat enough.
10. markdown infrastructure is far too piecemeal.
11. there is absolutely no way out of this quagmire.
12. as more users adopt markdown, more trouble will surface.
-bowerbird
p.s. wanna talk about a primitive markup and text-editor? this set-up here at medium takes the cake! and it has received so much hype. oh wellâ¦