{"id":5074,"date":"2010-01-17T13:14:23","date_gmt":"2010-01-17T18:14:23","guid":{"rendered":"http:\/\/scruss.com\/blog\/?p=5074"},"modified":"2013-12-13T16:18:24","modified_gmt":"2013-12-13T21:18:24","slug":"implicit-markup-easy-to-read-hard-to-parse","status":"publish","type":"post","link":"https:\/\/scruss.com\/blog\/2010\/01\/17\/implicit-markup-easy-to-read-hard-to-parse\/","title":{"rendered":"implicit markup: easy to read, hard to parse"},"content":{"rendered":"<p>I don&#8217;t usually ponder about other people&#8217;s blog postings, but Jeff Atwood&#8217;s <a href=\"http:\/\/www.codinghorror.com\/blog\/archives\/001317.html\">Responsible Open Source Code Parenting<\/a> reminded me of some of the old wars that the used to be when I was a markup head. Jeff writes about his frustration that John Gruber&#8217;s <a href=\"http:\/\/daringfireball.net\/projects\/markdown\/\">Markdown<\/a> text-to-html filter:<\/p>\n<ol>\n<li>hasn&#8217;t been updated for some time<\/li>\n<li>doesn&#8217;t quite do exactly what Jeff&#8217;s users at <a href=\"http:\/\/stackoverflow.com\/\">Stack Overflow<\/a> want<\/li>\n<li>appears to have any changes in its behaviour from v1.0.1 strenuously vetoed by Gruber himself.<\/li>\n<\/ol>\n<p>Markdown is nice in that you can write screeds of text, and it does almost exactly what you&#8217;d expect. The markup doesn&#8217;t get in the way, usually. The difficulty arises when implicit markup (indented lines for quoted text, bulleted lists, highlights) has to give way to explicit (cross-references, code samples). Explicit markup is ugly, but sometimes, you&#8217;ve got to do it. Complex intent requires complex modes of communication, and sometimes plain text just hasn&#8217;t the bandwidth. [As an aside, there was a hilarious lengthy recurring episode on <a href=\"http:\/\/everybodyslibraries.com\/\">John Mark Ockerbloom<\/a>&#8216;s late <a href=\"http:\/\/onlinebooks.library.upenn.edu\/webbin\/bparchive?year=2007&amp;post=2007-11-30,8\">bookpeople<\/a> mailing list where a user (<a href=\"http:\/\/www.gnutenberg.de\/pgtei\/0.5\/examples\/bowerbird\/poo.html\">mercilessly skewered here<\/a>)\u00c2\u00a0 insisted that they could write a general <a href=\"http:\/\/www.gutenberg.org\/\">Gutenberg<\/a> plain-text converter that would re-create typeset quality in an e-book reader with <strong>no<\/strong> explicit markup, and that XML was completely unnecessary and ill-conceived. The un-markup language, called <em>zen markup language<\/em> (said user had an aversion to the shift key) lives on only in a single website: <a href=\"http:\/\/www.z-m-l.com\/\">the home of z.m.l.<\/a> As for XML, its executive assistant had no comment on the matter.] Looking at Markdown, it looks like Gruber&#8217;s moved on from it. He made a 1.0.1 which did what he wanted. The code&#8217;s there to change if anyone needs it. I understand his frustration at people wanting to make changes and still call it Markdown; I&#8217;d be annoyed if I had text which I thought was in one format suddenly not be accepted, or do something unexpected. Seriously, that&#8217;s almost as bad as &#8216;<a href=\"http:\/\/scruss.com\/blog\/tag\/deprecated\/\">deprecated<\/a>&#8216;. [At least Gruber didn&#8217;t go on a deletion rampage, like (admittedly smaller-time) erstwhile <a href=\"http:\/\/chdk.wikia.com\/\">CHDK<\/a> stalwart <a href=\"http:\/\/chdk.setepontos.com\/index.php?action=profile;u=62\">Barney Fife<\/a> did when he was slighted in a forum. Looks like almost everything he contributed to CHDK has been removed, including some very useful control scripts and explanations.] Personally, when I need to make text to web conversions, I still use <a href=\"http:\/\/search.cpan.org\/%7Erubykat\/txt2html-2.51\/scripts\/txt2html\">txt2html<\/a> and a bunch of shell and Perl glue to feed to <a href=\"http:\/\/tidy.sourceforge.net\/\">tidy<\/a>. It&#8217;s on its third maintainer, doesn&#8217;t do much, but does it simply. And I&#8217;m pretty simple that way.<\/p>\n<p><strong>Update<\/strong>: see also <a href=\"http:\/\/blog.systemed.net\/post\/5\">On my increasing exasperation with Markdown<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I don&#8217;t usually ponder about other people&#8217;s blog postings, but Jeff Atwood&#8217;s Responsible Open Source Code Parenting reminded me of some of the old wars that the used to be when I was a markup head. Jeff writes about his frustration that John Gruber&#8217;s Markdown text-to-html filter: hasn&#8217;t been updated for some time doesn&#8217;t quite [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,2],"tags":[1468,652,1708,2059,1551,858,1287],"class_list":["post-5074","post","type-post","status-publish","format-standard","hentry","category-computers-suck","category-goatee-stroking-musing-or-something","tag-chdk","tag-gutenberg","tag-html","tag-markup","tag-text","tag-web","tag-xml"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pQNZZ-1jQ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/5074","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/comments?post=5074"}],"version-history":[{"count":4,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/5074\/revisions"}],"predecessor-version":[{"id":10226,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/posts\/5074\/revisions\/10226"}],"wp:attachment":[{"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/media?parent=5074"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/categories?post=5074"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scruss.com\/blog\/wp-json\/wp\/v2\/tags?post=5074"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}