WEB+DB PRESS Vol.83でMarkdownについての記事を書きました
今週発売予定のWEB+DB PRESSに、「もっと知りたい! Markdown ついに標準化が始まった軽量記法」という原稿を書きました。WEB+DB PRESSに書くのは久しぶりです。
- 作者: 原田騎郎,吉羽龍太郎,山口陽平,青木雅弥,松下誠太,三宅英明,高橋征義,南川毅文,伊藤直也,海野弘成,高安洋輝,佐藤歩,泉水翔吾,佐藤太一,横江直輔,舘野祐一,橋本翔,渡邊恵太,中島聡,はまちや2,小沢邦雄,長沢智治,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2014/10/24
- メディア: 大型本
- この商品を含むブログを見る
記事のタイトルと内容ですが、当初はMarkdownを使ってると何より気になるMarkdownの方言について、その現状と対策みたいなことを書こうとしたのでした。が、今回担当していただいた稲尾さんと相談しいろいろ書いてみて、そしていったん草稿がまとまった 後で Standard Markdown騒動が勃発してしまったため、全体を見直しつつ前後にその辺の事情を追加し、標準化話っぽくまとめてみました。まさか書き終えたタイミングでこんなちゃぶ台返しみたいな事件が起こるとは…という気分でしたが、タイミングとしてはちょうど良かったと言えるかも。
個人的にはMarkdownの差異についてはCommonMarkを中心にまとまってほしいと思っているので、CommonMarkには好意的な書き方になっています。人によっては、CommonMarkはMarkdownの新しい方言を付け加えてより混乱させるだけで「標準化」でもなんでもないしどうなのよ、という意見の人もいるでしょう。とはいえ、例えば本記事でも紹介しているJSのMarkdownエンジンであるMarkedの作者が「Markdown is broken」(https://github.com/chjj/marked/blob/master/doc/broken.md)みたいな、ついカッとなってMarkdownエンジンの不満をぶちまけたりしている文章を読んだりすると、たとえJohn Gruberにはやる気がないにしても、第三者の勝手案であれ標準案をまとめることの意義は大きいんではないかと思っています。もちろんその場合はMarkdownという名前を使うのはよろしくないので、現状のCommonMark案も落とし所としては悪くはないんでないかなあ、というスタンスです。
執筆は、最初は(当然ながら)Re:VIEWで書いて入稿用Markdownに変換していたのですが、最終的には直接Markdownを編集する方向に切り替えています。これは、「Markdownの記法についての説明をMarkdownで書く」だけでもエスケープ等で混乱しやすい上に、「Markdownの記法についての説明をMarkdownで書かれた原稿をRe:VIEWから生成する」という時点でMarkdownのエスケープとRe:VIEWのエスケープが混沌を極めたためです。軽量マークアップ言語はその辺りのケアが弱いものが多いので辛いですよね…。
また、執筆にあたっては、id:lost_and_foundさんとid:uasiさんに草稿を読んでいただき、ご指摘をいただきました。この場を借りてお礼申し上げます。しかし二人に読んでもらった原稿はまだCommonMark話が入る前の段階だったので、あれからずいぶんと変わってしまったのでした…すみません。もちろん、誤り等があれば全て私の責任です。
とりあえず、Pandocでフィルタを書く話や、PandocのWriterがLuaで書ける話とかは今まで紙媒体では紹介されてないと思うので、それが書けたのは良かったです(後者は誌面の都合でだいぶ削れてしまいましたが…)。あと、でんでんマークダウンの記法について紙の書籍(ムックですが)で触れておきたかったというのもあります。JSではひそかにvue.jsを使ってみましたが、これは良いものですね。
最後に、原稿ではURLを脚注の形でばんばん書いてみており、編集時のどこかの段階で整理されるかなあと思っていたら最後までだいぶ残っていたので、クリックできない紙の代わりにURLのリストをこちらに転記しておきます。どうぞご利用ください。
- CommonMark http://commonmark.org/
- CommonMarkの仕様 on GitHub https://github.com/jgm/stmd
- 「Daring Fireball」 http://daringfireball.net/
- Markdown 1.0.1 http://daringfireball.net/projects/markdown/
- Haml http://haml.info/
- Slim http://slim-lang.com/
- 「Markdown: Syntax」 http://daringfireball.net/projects/markdown/syntax
- 技術評論社 http://gihyo.jp/
- Emacs Markdown Mode http://jblevins.org/projects/markdown-mode/
- MMM Mode http://mmm-mode.sourceforge.net/
- polymode https://github.com/vitoshka/polymode
- Markdown Vim Mode https://github.com/plasticboy/vim-markdown
- Previm https://github.com/kannokanno/previm
- open-browser.vim https://github.com/tyru/open-browser.vim
- Markdown Extended https://sublime.wbond.net/packages/Markdown%20Extended
- Monokai Extended https://sublime.wbond.net/packages/Monokai%20Extended
- Markdown Preview https://sublime.wbond.net/packages/Markdown%20Preview
- Python-markdown https://github.com/waylan/Python-Markdown
- Markdown Preview https://github.com/atom/markdown-preview
- MarkDown#Editor http://hibara.org/software/markdownsharpeditor/
- MarkdownPad http://markdownpad.com/
- MarsEdit http://www.red-sweater.com/marsedit/
- Mou http://mouapp.com/
- Kobito http://kobito.qiita.com/
- S5 http://meyerweb.com/eric/tools/s5/
- reveal.js http://lab.hakim.se/reveal-js/
- remark http://remarkjs.com/
- 稲尾さんがGitHub Kaigiで発表したときの資料 http://www.slideshare.net/inao/githubkaigi
- PHP Markdown Extra https://michelf.ca/projects/php-markdown/extra/
- でんでんマークダウン http://conv.denshochan.com/markdown
- 「電書ちゃんのでんでんコンバーター」 http://conv.denshochan.com/
- EPUB3の仕様 http://www.idpf.org/epub/vocab/structure/
- Pandoc http://johnmacfarlane.net/pandoc/
- Pandocのマニュアル http://johnmacfarlane.net/pandoc/README.html
- Pandocマニュアルの日本語訳 http://sky-y.github.io/site-pandoc-jp/users-guide/
- Pandoc標準のフィルタのサンプル https://github.com/jgm/pandocfilters
- pandoc-types https://github.com/jgm/pandoc-types
- Redcarpet https://github.com/vmg/redcarpet
- md2review https://github.com/takahashim/md2review
- RDiscount http://dafoster.net/projects/rdiscount/
- kramdown http://kramdown.gettalong.org/
- Maruku https://github.com/bhollis/maruku
- Marked https://github.com/chjj/marked
- Markdown Editor Example http://vuejs.org/examples/index.html
- 「CODING HORROR」 http://blog.codinghorror.com/
- CommonMark仕様のドラフト http://spec.commonmark.org/
- 「Responsible Open Source Code Parenting」 http://blog.codinghorror.com/responsible-open-source-code-parenting/
- 「The Future of Markdown」 http://blog.codinghorror.com/the-future-of-markdown/
- Standard Markdown取りやめの発表 http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/
- CommonMarkのDiscussionサイト http://talk.commonmark.org/