Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
masayoshi takahashi
PDF, PPTX
34,980 views
Markdownもはじめよう
SphinxCon JP 2014での発表資料です。
Technology
◦
Read more
72
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 59
2
/ 59
3
/ 59
4
/ 59
5
/ 59
6
/ 59
7
/ 59
8
/ 59
9
/ 59
10
/ 59
11
/ 59
12
/ 59
13
/ 59
14
/ 59
15
/ 59
16
/ 59
17
/ 59
18
/ 59
19
/ 59
20
/ 59
21
/ 59
22
/ 59
23
/ 59
24
/ 59
25
/ 59
26
/ 59
27
/ 59
28
/ 59
29
/ 59
30
/ 59
31
/ 59
32
/ 59
33
/ 59
34
/ 59
35
/ 59
36
/ 59
37
/ 59
38
/ 59
39
/ 59
40
/ 59
41
/ 59
42
/ 59
43
/ 59
44
/ 59
45
/ 59
46
/ 59
47
/ 59
48
/ 59
49
/ 59
50
/ 59
51
/ 59
52
/ 59
53
/ 59
54
/ 59
55
/ 59
56
/ 59
57
/ 59
58
/ 59
59
/ 59
More Related Content
PDF
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
PDF
20分くらいでわかった気分になれるC++20コルーチン
by
yohhoy
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
by
Hideki Takase
PDF
Pythonによる黒魔術入門
by
大樹 小倉
PDF
Marp Tutorial
by
Rui Watanabe
PPTX
イベント駆動プログラミングとI/O多重化
by
Gosuke Miyashita
PDF
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
PDF
LLVM Backend の紹介
by
Akira Maruoka
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
20分くらいでわかった気分になれるC++20コルーチン
by
yohhoy
FPGAをロボット(ROS)で「やわらかく」使うには
by
Hideki Takase
Pythonによる黒魔術入門
by
大樹 小倉
Marp Tutorial
by
Rui Watanabe
イベント駆動プログラミングとI/O多重化
by
Gosuke Miyashita
組み込み関数(intrinsic)によるSIMD入門
by
Norishige Fukushima
LLVM Backend の紹介
by
Akira Maruoka
What's hot
PDF
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
by
Yoshiki Hayama
PDF
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
PDF
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
PDF
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
PDF
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
PDF
TLS, HTTP/2演習
by
shigeki_ohtsu
PDF
ぐるなびが活用するElastic Cloud
by
Elasticsearch
PPTX
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
PPTX
金融情報における時系列分析
by
Fujio Toriumi
PDF
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
PDF
KiCadで雑に基板を作る チュートリアル
by
裕士 常田
PDF
PHPからgoへの移行で分かったこと
by
gree_tech
PDF
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
PPTX
競技プログラミングのためのC++入門
by
natrium11321
PDF
[DL輪読会]1次近似系MAMLとその理論的背景
by
Deep Learning JP
PDF
高速な倍精度指数関数expの実装
by
MITSUNARI Shigeo
PPTX
【DL輪読会】Transformers are Sample Efficient World Models
by
Deep Learning JP
PDF
暗認本読書会7
by
MITSUNARI Shigeo
PDF
画像生成・生成モデル メタサーベイ
by
cvpaper. challenge
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
by
Yoshiki Hayama
CentOS Linux 8 の EOL と対応策の検討
by
Masahito Zembutsu
Scala 初心者が米田の補題を Scala で考えてみた
by
Kazuyuki TAKASE
見やすいプレゼン資料の作り方 - リニューアル増量版
by
MOCKS | Yuta Morishige
シリコンバレーの「何が」凄いのか
by
Atsushi Nakada
TLS, HTTP/2演習
by
shigeki_ohtsu
ぐるなびが活用するElastic Cloud
by
Elasticsearch
Prometheus入門から運用まで徹底解説
by
貴仁 大和屋
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
by
Yahoo!デベロッパーネットワーク
金融情報における時系列分析
by
Fujio Toriumi
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
KiCadで雑に基板を作る チュートリアル
by
裕士 常田
PHPからgoへの移行で分かったこと
by
gree_tech
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
by
Kuniyasu Suzaki
競技プログラミングのためのC++入門
by
natrium11321
[DL輪読会]1次近似系MAMLとその理論的背景
by
Deep Learning JP
高速な倍精度指数関数expの実装
by
MITSUNARI Shigeo
【DL輪読会】Transformers are Sample Efficient World Models
by
Deep Learning JP
暗認本読書会7
by
MITSUNARI Shigeo
画像生成・生成モデル メタサーベイ
by
cvpaper. challenge
Viewers also liked
PDF
ドキュメントシステムはこれを使え2015年版
by
Keiichiro Shikano
PDF
SIerでもSphinxを使いたい!総括
by
kk_Ataka
PDF
Sphinxで社内勉強会(Git)の 資料を作ってみた
by
Taku SHIMIZU
PDF
Oktavia全文検索エンジン - SphinxCon JP 2014
by
Yoshiki Shibukawa
PPTX
Sphinx で手軽に作るドキュメント
by
Go Yamada
PPTX
APIドキュメントの話 #sphinxjp
by
Takeshi Komiya
PDF
Sphinx HTML Theme Hacks
by
Shoji KUMAGAI
PPTX
Sphinx拡張 探訪 2014 #sphinxjp
by
Takeshi Komiya
ドキュメントシステムはこれを使え2015年版
by
Keiichiro Shikano
SIerでもSphinxを使いたい!総括
by
kk_Ataka
Sphinxで社内勉強会(Git)の 資料を作ってみた
by
Taku SHIMIZU
Oktavia全文検索エンジン - SphinxCon JP 2014
by
Yoshiki Shibukawa
Sphinx で手軽に作るドキュメント
by
Go Yamada
APIドキュメントの話 #sphinxjp
by
Takeshi Komiya
Sphinx HTML Theme Hacks
by
Shoji KUMAGAI
Sphinx拡張 探訪 2014 #sphinxjp
by
Takeshi Komiya
Similar to Markdownもはじめよう
PDF
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
by
Kenshi Muto
PPTX
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
by
Takeshi Komiya
PDF
Swift ドキュメントコメント
by
Tomohiro Kumagai
PDF
Markdown beginners
by
JSP
PPTX
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
by
Takayuki Shimizukawa
PPTX
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
by
Takayuki Shimizukawa
PPTX
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
by
Takeshi Komiya
PPTX
TokyoR:RMarkdownでレポート作成
by
Takashi Minoda
PPTX
マークアップ言語の拡張 メリットとデメリット #hankumi
by
Takeshi Komiya
PDF
Our docsys-pyfes-2012-11
by
Keiichiro Shikano
PDF
Markdown入門
by
Tatsumi Naganuma
PDF
Markdownでドキュメント作成
by
Yasuyuki Fujikawa
PPTX
Rails+Markdownでなにかつくる
by
Hirata Tomoko
PPTX
ドキュメントの話、しませんか? #428rk01
by
Takeshi Komiya
PPTX
個人的なさがしもののはなし #rubyhiroba
by
Takeshi Komiya
PDF
Markdown で行こう!
by
博文 斉藤
PDF
How to spread reST and Sphinx
by
Takanori Suzuki
PDF
Sphinx/reST
by
Ryo Maruyama
PDF
軽量マークアップ言語で気楽にマークアップ
by
Tomohiko Himura
PDF
Building document with the Sphinx public edtion
by
Yukihiko SAWANOBORI
書籍向け汎用マークアップのあり方―Re:VIEWの開発を通して
by
Kenshi Muto
Sphinx ではじめるドキュメント生活 2012 #pyconjp #sphinxconjp
by
Takeshi Komiya
Swift ドキュメントコメント
by
Tomohiro Kumagai
Markdown beginners
by
JSP
執筆中のPythonプロフェッショナルプログラミング第2版でsphinxを使っている話
by
Takayuki Shimizukawa
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
by
Takayuki Shimizukawa
Sphinx ではじめるドキュメント生活 2013 #sphinxconjp
by
Takeshi Komiya
TokyoR:RMarkdownでレポート作成
by
Takashi Minoda
マークアップ言語の拡張 メリットとデメリット #hankumi
by
Takeshi Komiya
Our docsys-pyfes-2012-11
by
Keiichiro Shikano
Markdown入門
by
Tatsumi Naganuma
Markdownでドキュメント作成
by
Yasuyuki Fujikawa
Rails+Markdownでなにかつくる
by
Hirata Tomoko
ドキュメントの話、しませんか? #428rk01
by
Takeshi Komiya
個人的なさがしもののはなし #rubyhiroba
by
Takeshi Komiya
Markdown で行こう!
by
博文 斉藤
How to spread reST and Sphinx
by
Takanori Suzuki
Sphinx/reST
by
Ryo Maruyama
軽量マークアップ言語で気楽にマークアップ
by
Tomohiko Himura
Building document with the Sphinx public edtion
by
Yukihiko SAWANOBORI
More from masayoshi takahashi
PDF
How To Become A Rubyist
by
masayoshi takahashi
PDF
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
by
masayoshi takahashi
PDF
TdX#01 RubyKaigiの作り方
by
masayoshi takahashi
PDF
青空文庫テキストフォーマットについて (aozorahack)
by
masayoshi takahashi
PDF
mruby for embedded systems
by
masayoshi takahashi
PDF
Ruby25: Rubyの1/4世紀
by
masayoshi takahashi
PPTX
Aozorahack20161106
by
masayoshi takahashi
PDF
Re:VIEW新パーサ現状確認(2015年2月版)
by
masayoshi takahashi
PDF
「執筆のためのエレベータピッチ」のテンプレート
by
masayoshi takahashi
PDF
新・ReVIEWパーサについて
by
masayoshi takahashi
PDF
aozorahack hackathon #1
by
masayoshi takahashi
PDF
mrubyのすすめ
by
masayoshi takahashi
PDF
オープンソースとプラットフォームとお金
by
masayoshi takahashi
PDF
電子出版はどこを 目指すのか・技術書編
by
masayoshi takahashi
PDF
Webと電子書籍の話
by
masayoshi takahashi
PDF
lldecade2012
by
masayoshi takahashi
PDF
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
by
masayoshi takahashi
PDF
Code for 選挙とWikidata
by
masayoshi takahashi
PDF
osc2019tokyospring
by
masayoshi takahashi
PDF
The History of Ruby; 20th Anniversary Ed.
by
masayoshi takahashi
How To Become A Rubyist
by
masayoshi takahashi
青空文庫と式年遷宮アーキテクチャ: 青空文庫200周年に向けて
by
masayoshi takahashi
TdX#01 RubyKaigiの作り方
by
masayoshi takahashi
青空文庫テキストフォーマットについて (aozorahack)
by
masayoshi takahashi
mruby for embedded systems
by
masayoshi takahashi
Ruby25: Rubyの1/4世紀
by
masayoshi takahashi
Aozorahack20161106
by
masayoshi takahashi
Re:VIEW新パーサ現状確認(2015年2月版)
by
masayoshi takahashi
「執筆のためのエレベータピッチ」のテンプレート
by
masayoshi takahashi
新・ReVIEWパーサについて
by
masayoshi takahashi
aozorahack hackathon #1
by
masayoshi takahashi
mrubyのすすめ
by
masayoshi takahashi
オープンソースとプラットフォームとお金
by
masayoshi takahashi
電子出版はどこを 目指すのか・技術書編
by
masayoshi takahashi
Webと電子書籍の話
by
masayoshi takahashi
lldecade2012
by
masayoshi takahashi
aozorahackと青空文庫の現状とこれから (OSC 2016 Tokyo/Spring)
by
masayoshi takahashi
Code for 選挙とWikidata
by
masayoshi takahashi
osc2019tokyospring
by
masayoshi takahashi
The History of Ruby; 20th Anniversary Ed.
by
masayoshi takahashi
Markdownもはじめよう
1.
Markdownも はじめよう 2014/10/26 SphinxCon
JP 2014 株式会社達人出版会/一般社団法人日本Rubyの会 高橋征義 @takahashim
2.
自己紹介 • 高橋征義
• Re:VIEWコミッタ • 株式会社達人出版会代表取締役 • ITエンジニア向け電子書籍の制作・販売 • 一般社団法人日本Rubyの会代表理事 • Sphinx歴はたしなみ程度 • 原稿書くのに使えないかなあ…と調べてみたくらい
4.
本日のお題
5.
Markdown
6.
2日前に発売された WEB+DB PRESS
Vol.83に 「もっと知りたい! Markdown」 という原稿を書きました
7.
本日のお題 •Markdownの概要 •Markdownの方言問題
•Markdown→reST変換
8.
本日のお題 •Markdownの概要 •Markdownの方言問題
•MarkdownをreSTにする
9.
Markdownを 使ったことのない方?
10.
Markdownとは • John
Gruber氏が2004年に開発 • 「Daring Fireball」というブログで有名 • Aaron Swartz氏が協力 • 「読みやすく書きやすい」+(X)HTMLに変換で きる • 開発は10年近く絶賛停止中
11.
記法と処理系の名前 記法処理系 reSTの
場合reST Docutils MDの 場合Markdown Markdown (Markdown.pl)
12.
MarkdownはreSTを参考にしている •1991年: setext
(Ian Feldman) • 1993年: HTML 1.0 • 1995年: HTML 2.0 • 1998年: XML 1.0 / HTML 4.01 • 2001年: XHTML 1.1 •2002年: reStructuredText •2004年: Markdown ※StructuredTextはいつか分からず…
13.
機能面での比較 • (オリジナルの)Markdownに比べると、
reStructuredTextの方が圧倒的にリッチ • 後発なのになぜ?
14.
目的の違い 記法主要な(特徴的な)目的 reST
プログラムのドキュメント (docstrings等) Markdown Webコンテンツ (ブログ記事等) Re:VIEW 紙の書籍 (コンピュータ書等) 広く使われる記法には「強いポリシー」がある (ことが多い。cf. “Opinionated Software”)
15.
【宣伝】Re:VIEWのご紹介 • 一言で言うと「Sphinxみたいなやつ」
• 青木峰郎氏が『Rubyソースコード完全解説』などの書 籍執筆時、自分用に開発し、後にOSS化されたもの(現 在は武藤健志氏がメインのメンテナ) • 知名度では圧倒的にSphinxの方が高いが、HTML、 EPUB、LaTeXの他にも、InDesign(IDGXML)への変換 が可能なため、日本での商業出版の利用例は多い • 達人出版会では基本的にRe:VIEWで制作している • https://github.com/kmuto/review
16.
Markdownの長所 • 読みやすい
& 書きやすい • 「プレーンテキストのメール」 • 複雑で読みづらい記法を使わせない • HTMLが素で書ける • いざとなればだいたい何でも書ける • ツールが充実 • 数は力
17.
Markdownの欠点 • マークアップの制限がきつい
• directiveのような(あると便利でも)文書と して読みづらい記法が許されない • HTMLに頼ると収拾がつかなくなりがち • もうHTMLで書いた方が早いのでは的な • 作者に保守発展させる気がなさそう • 独自拡張の横行→方言問題に
18.
本日のお題 •Markdownの概要 •Markdownの方言問題
•MarkdownをreSTにする
19.
Markdownの処理系 • 山ほどある
• 一言語に複数あるのが当たり前 • Rubyの場合、kramdown、RedCarpet、 RDiscount、Maruku、Blueclothなど • 当然のように全部挙動が違う
20.
Markdownの方言 • 処理系の違い(開発言語の違い)
•記法の解釈の違い (独自解釈) •記法の構文の違い(独自拡張)
21.
記法の解釈の違い • 箇条書きの入れ子問題
• 強調の入れ子問題 • 大文字DIV問題 • リスト中のコメントをどうするか問題 • リストと後続行のインデント問題 • 改行、空行の扱い • その他もろもろ
22.
箇条書きの入れ子 *foo *bar
*buz 基本は4インデントだが、それ以外の インデントの場合が未規定のため、 どうなるかは処理系によってまちまち。
23.
強調の入れ子 *a **b
*a **b** a* b** a* そもそもインラインとして認識されるか それとも「*」と認識されるかどうかから して処理系依存
24.
http://johnmacfarlane.net/babelmark2/?text=*a+**b+*a+**b**+a*+b**+a*
25.
大文字DIVの挙動 <DIV> hi
</DIV> Markdown.plやPHP Markdown Extra ではなぜか<p><div>hi</div></p> となる。Pandoc、RedCarpet、Python- Markdownでは<div>hi</div>
26.
結局何が問題なのか • 処理系が乱立
• 正しい仕様がない • (↑この辺まではよくある話、まあ仕方ない) • 正しい仕様を決めようとしない • そもそものオリジナルの挙動が微妙なのに開発 が止まっており、変更されない • 誰かに引き継いだりもしない
27.
記法の構文の違い • テーブル記法
• コードブロック記法 • 脚注記法 • 絵文字 • チェックリスト • この辺はgithub方言かも 詳しい記法の話は省略します (Markdownのイベントというわけでもないので…)
28.
jgm • John
MacFarlane • Pandoc、peg-markdown、 Babelmark2の作者 • http://johnmacfarlane.net/ 本職はUCBの哲学科の教授(専門は言語哲学や 数理論理学)、というか学科長?らしい • 哲学の先生がHaskellもCもJSも書くUCBやばい • CommonMarkの中心人物の一人
29.
Pandoc • 汎用文書変換器
• 当然のようにreSTにも対応 • Markdownには特にこだわりが • 多様なオプション類 • 詳しくは後ほど • http://johnmacfarlane.net/pandoc/
30.
peg-markdown • Cで書かれたMarkdownパーサ
• 構文はPEGで記述されている • jgmなりの「形式的仕様」 • https://github.com/jgm/peg-markdown
31.
Babelmark 2 •
様々なMarkdown実装の違いを一覧する • Markdown実装はWebサービスAPIになってい て、Ajaxで各サーバから変換結果を取得して表 示する • http://johnmacfarlane.net/babelmark2/
32.
Pandocでのオプション • Pandocで指定できるMarkdownは4種類ある
• markdown (Pandoc独自) • markdown_strict (オリジナルに限定) • markdown_phpextra (PHP Markdown Extra互換) • markdown_github (GitHub互換) • さらに細かい指定も可能
33.
Pandocオプション例1 • hard_line_breaks:
改行を<br/>にする • ignore_line_breaks: 改行を完全に無視する (空白にもせず連結する、東アジア向け?) • autolink_bare_uris: URLをリンクにする • mmd_header_identifiers: MultiMarkdown 互換のヘッダID記法を有効にする
34.
Pandocオプション例2 • yaml_metadata_block:
YAMLで文書冒頭に メタデータが書ける • all_symbols_escapable: あらゆる文字がで エスケープできる(標準は限られた記号のみ) • intraword_underscores: 単語内の「_」を強 調記法と解釈しないようにする • markdown_in_html_blocks: HTMLブロック 内のMarkdown記法を有効にする • footnotes: 脚注を有効にする
35.
Pandocオプション例3 • blank_before_header:
#で始まる見出し行の直前が 空行でなければ見出しにしない • header_attributes: 見出しに属性を付けられる • auto_identifiers: 見出しに自動でidを振る • fenced_code_blocks: GitHubとかのコードブロック 記法を有効にする • line_blocks: reSTの「|」の引用記法を有効にする • fancy_lists: 英字やローマ数字を連番リストにできる • startnum: 連番リストの最初の数値を変えられる • definition_lists: 定義リストを有効にする
36.
Pandocのテーブル記法 • これまた4種類ある
• シンプルテーブル simple_tables • マルチラインテーブル multiline_tables • グリッドテーブル grid_tables • パイプテーブル pipe_tables • table_captions: テーブルのキャプションを有効
37.
Pandocオプション例 • 要するに記法の有無・解釈の違いに対応するた
めにオプションだらけになる • Markdown文書を正しく解釈してもらうにはオ プションも交換する必要がある • つらい世界…
38.
CommonMark • 2014年8月に勃発
• Markdown Discuss MLからの流れかも • Markdownの標準化運動 • 当初Standard Markdownという名前だった • Jeff Atwoodとjgmが中心(?) • 名前が出てるのは2人以外にも数名いる • John Gruberは関わっていない
39.
http://commonmark.org/
40.
Coding Horror •
Jeff Atwoodのブログ • 2009/12/29: Responsible Open Source Code Parenting • “Which leads me to the biggest problem with Markdown: John Gruber.” • 2012/10/25: The Future of Markdown • 標準化の提案 • 5年越しの動き
41.
http://blog.codinghorror.com/responsible-open-source-code-parenting/
42.
http://blog.codinghorror.com/the-future-of-markdown/
43.
CommonMarkの仕様 • 仕様の厳密化
• HTMLへのマッピングとして規定 • オリジナルとは微妙な違いはある • オリジナルから拡張は基本しない • 今後の課題 • でもいくつかこっそり追加してある • PandocのMarkdownぽい • 拡張はなし • markdown_strictでもない
44.
CommonMarkの今後 • 仕様案は10/24にv0.4が公開
• 議論等は掲示板とgithubで進んでいる • 細かい提案は出てるがどうまとめるのか不明 • 少なくともGitHubやStackExchangeの挙動 は変更されていない模様 • ロードマップ非公開、リリース予定時期も不明 • とにかく今後に期待、というところ
45.
本日のお題 •Markdownの概要 •Markdownの方言問題
•MarkdownをreSTにする
46.
PandocでMD→reST • Pandocを使えばMarkdownもreSTにもできる
• 「Markdownで書いてたんだけど…」 「Markdownしか知らないんだけど…」 みたいなことを言われても、Sphinxに取り込め る(はず)
47.
Pandocをはじめよう $ pandoc
-f markdown_github -t rst foo.md
48.
Pandocをさらに拡張 • Markdown+謎の独自記法で書かれた文書を
reSTにしたい!
49.
http://qiita.com/r7kamura/items/faf2189a32e1eaa1a5d4
51.
HTML::Pipelineとか • MarkdownからいったんHTMLを変換
• その変換結果のHTMLに対して独自記法の変換 を行う • HTMLじゃないと使えない…… • TeXとかTeXとか • そこでPandocですよ!
52.
Pandocフィルタ • Pandocは変換結果のASTをJSONに吐き出せる
• Markdown → AST → JSON • さらにJSONを入力にして変換することもでき る • JSON → AST → (reST等) • JSONを加工するフィルタを書けば拡張できる
53.
Pandocフィルタ • 例:
絵文字フィルタ (GitHub風) • とりあえずUnicode絵文字に変換してみる • RubyにはEmotというライブラリがあるので それを使うことに(Python力が低くてすみま せん…)
54.
$ pandoc -f
markdown -t json emoji.md > emoji.json
56.
https://github.com/takahashim/emo_pandoc
57.
$ pandoc -f
markdown -t rst --filter emo_pandoc emoji.md
58.
まとめ • Markdownはいろいろあって大変
• 事前に「どのMarkdown」を決めないと交換 できなくなる危険性 • プロジェクトリーダーはしっかりするべき • 続けるか、後進に任せるか、終わらせるか • Pandocはいろいろすごい • UCBやばい
59.
ついでに(勝手に)宣伝 http://texconf14.tumblr.com/
Download