[{"data":1,"prerenderedAt":192},["ShallowReactive",2],{"i-lucide:menu":3,"i-lucide:arrow-up-right":8,"i-lucide:moon":10,"i-lucide:sun":12,"i-lucide:rss":14,"i-simple-icons:github":16,"i-simple-icons:linkedin":18,"post-\u002F2015\u002F3-reasons-why-you-should-support-standardized-markdown":21,"surround-\u002F2015\u002F3-reasons-why-you-should-support-standardized-markdown":179,"i-lucide:arrow-left":188,"i-lucide:arrow-right":190},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M4 5h16M4 12h16M4 19h16\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M7 7h10v10M7 17L17 7\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":11},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":13},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"4\"\u002F>\u003Cpath d=\"M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":15},"\u003Cg fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\">\u003Cpath d=\"M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16\"\u002F>\u003Ccircle cx=\"5\" cy=\"19\" r=\"1\"\u002F>\u003C\u002Fg>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":17},"\u003Cpath fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":19,"hidden":20},"\u003Cpath fill=\"currentColor\" d=\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037c-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85c3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.06 2.06 0 0 1-2.063-2.065a2.064 2.064 0 1 1 2.063 2.065m1.782 13.019H3.555V9h3.564zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0z\"\u002F>",true,{"id":22,"title":23,"body":24,"category":163,"comments":164,"date":165,"description":166,"excerpt":164,"extension":167,"image":164,"meta":168,"navigation":20,"path":169,"readingTime":170,"seo":171,"stem":172,"subtitle":164,"tags":173,"wordCount":177,"__hash__":178},"posts\u002F2015\u002F3-reasons-why-you-should-support-standardized-markdown.md","3 Reasons Why You Should Support Standardized Markdown",{"type":25,"value":26,"toc":160},"minimark",[27,39,45,50,70,103,106,110,113,117,120,124,127,130,133,139,156],[28,29,30,31,38],"p",{},"I'm working on a software project that integrates with a web-based instant messaging service. One of the tasks involved is formatting text using their version of Markdown, which doesn't conform to the ",[32,33,37],"a",{"href":34,"rel":35},"http:\u002F\u002Fcommonmark.org",[36],"nofollow","industry-accepted specification",".",[28,40,41,42],{},"Being annoyed with that (and with the fact that I have to implement their specification myself, instead of using a readily-available library), I decided to list some reasons why I think they are in the wrong.",[43,44],"br",{},[46,47,49],"h1",{"id":48},"_1-your-integration-partners-can-use-existing-parser-libraries","#1: Your integration partners can use existing parser libraries",[28,51,52,53,58,59,58,64,69],{},"Open source is cool: there are readily available solutions for common problems. You need to transform Markdown into HTML? HTML into Markdown? Easy! Search for Markdown in your package manager (",[32,54,57],{"href":55,"rel":56},"https:\u002F\u002Fpackagist.org\u002Fsearch\u002F?q=markdown",[36],"Composer",", ",[32,60,63],{"href":61,"rel":62},"https:\u002F\u002Fwww.npmjs.com\u002Fsearch?q=markdown",[36],"npm",[32,65,68],{"href":66,"rel":67},"https:\u002F\u002Frubygems.org\u002Fsearch?utf8=%E2%9C%93&query=markdown",[36],"gem"," etc), install the dependency and do something like",[71,72,77],"pre",{"className":73,"code":74,"language":75,"meta":76,"style":76},"language-js shiki shiki-themes github-light github-dark","markdown.toHTML(\"Hello *World*!\")\n","js","",[78,79,80],"code",{"__ignoreMap":76},[81,82,85,89,93,96,100],"span",{"class":83,"line":84},"line",1,[81,86,88],{"class":87},"sVt8B","markdown.",[81,90,92],{"class":91},"sScJk","toHTML",[81,94,95],{"class":87},"(",[81,97,99],{"class":98},"sZZnC","\"Hello *World*!\"",[81,101,102],{"class":87},")\n",[28,104,105],{},"Few lines of code and no hassle. Custom vendor syntax would require developers to first write a parser library for your particular product only. Extra development time, extra support (bugs and API upgrades) and extra money spent on things other than the actual product.",[46,107,109],{"id":108},"_2-out-of-the-box-support-from-third-party-applications","#2: Out-of-the-box support from third party applications",[28,111,112],{},"Many platforms, libraries and applications already support Markdown. Should it happen that their output becomes your input (or the other way around), you might find that it works out of the box. No need for a custom adapter script.",[46,114,116],{"id":115},"_3-no-need-to-write-a-language-specification","#3: No need to write a language specification",[28,118,119],{},"Many developers and end-users are already familiar with the Markdown specification. You don't have to write (and maintain) a lengthy Text Formatting Specification document, then teach it to all of your consumers (teaching non-technical folk a new language syntax can be a daunting task!). Following an accepted standard means you don't have to reinvent the wheel.",[46,121,123],{"id":122},"_4-free-point-yay-implementing-markdown-support-might-be-quite-easy","#4 (free point, yay!): Implementing Markdown support might be quite easy",[28,125,126],{},"Depending on your product, it might be possible to include support for Markdown the same way your consumers do: by using an existing library. You could pass incoming messages through a parser library and get full Markdown support out of the box without having to do the hard work. Win-win!",[128,129],"hr",{},[28,131,132],{},"By the way: this very blog post is written and formatted purely with Markdown.",[28,134,135],{},[136,137,138],"strong",{},"Links",[140,141,142,149],"ul",{},[143,144,145],"li",{},[32,146,148],{"href":34,"rel":147},[36],"CommonMark Spec",[143,150,151],{},[32,152,155],{"href":153,"rel":154},"http:\u002F\u002Fdaringfireball.net\u002Fprojects\u002Fmarkdown\u002Fsyntax",[36],"Daring Fireball, Markdown spec",[157,158,159],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":76,"searchDepth":161,"depth":161,"links":162},2,[],"Software Development",null,"2015-02-02","I'm working on a software project that integrates with a web-based instant messaging service. One of the tasks involved is formatting text using their version of Markdown, which doesn't conform to the industry-accepted specification.","md",{},"\u002F2015\u002F3-reasons-why-you-should-support-standardized-markdown","about 2 minutes",{"title":23,"description":166},"2015\u002F3-reasons-why-you-should-support-standardized-markdown",[174,175,176],"programming","markdown","standards",368,"hNSEudd0WtYuyqZjcS6VZhqmOEw8Odyu19XQQ52qhFs",[180,184],{"title":181,"path":182,"stem":183,"children":-1},"Vastus Nõusolekuta Otseturundusele","\u002F2014\u002Fvastus-nousolekuta-otseturundusele","2014\u002Fvastus-nousolekuta-otseturundusele",{"title":185,"path":186,"stem":187,"children":-1},"How Most Developer Recruiting Ads Look Like Nowadays","\u002F2015\u002Fhow-most-developer-recruiting-ads-look-like-nowadays","2015\u002Fhow-most-developer-recruiting-ads-look-like-nowadays",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":189},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m12 19l-7-7l7-7m7 7H5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":191},"\u003Cpath fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M5 12h14m-7-7l7 7l-7 7\"\u002F>",1790886934002]