AsciiDoc その2
前回のAsciiDocのエントリで概要を書いたから、なにかサンプルを試してみようかと思ったけれど、適当な長い文章を思いつかなかったので気になった部分の紹介でお茶を濁す :-P
それと、Asciidoctorのドキュメントをつらつら見ていたら、Differences from AsciiDocという項があって、想像してたよりもリストが長く、完全互換を目指しているのかと思っていたがそうでもないらしい。新しい要素を追加したり、非推奨な書式はもはや実装してなかったり。その結果、asciidocより25倍速いとか*1。
ざっとUser Guideを読んだだけなので間違ってたら指摘してくれると助かります。
コマンド
AsciiDocの主なコマンドは、 asciidoc と a2x 。Asciidoctor の方は asciidoctor、それとRubyアプリケーションへの組み込みも重要な使い方。
- asciidoc
- AsciiDocをHTMLまたはDocBookに変換
- a2x
- AsciiDocを一旦DocBookへ変換し、そのままPDF, EPUB, DVI, PS, LaTeX, XHTML, man page, HTML Help, plain textなどへ変換。その際に、AsciiDoc特有の記法も処理する
- asciidoctor
- AsciiDocをHTMLまたはDocBookに変換
ボタンで考えないといけないこと
アコーディオンのボタンはキーボードハック*1すればいいと思うんだけど、気になったのがボタンの同時押し。考えてみれば、そういうことを処理するプログラムを書いたことがない。
ちょっと調べてみるとハードウェアとかUSBのレベルではロールオーバーあるいはNキーロールオーバーというような呼称があるらしい。USBはデフォルトでは6キーの同時押しまでしか対応できないので、ゲーミングキーボードはそれ以上のキー同時押しに対応できるよういろいろ工夫してあるとかなんとか。まあ今回は6キーの同時押しができれば十分だと思うので、特に気にせず進めることにする*2。
次にプログラムのレベルでは以前のエントリで試しに書いたコードは一つのキーしか受け付けないので同時押しができない。できればLinuxでX Windowを使わないでできればいいんだけど、ずいぶん低レイヤの記述は見つけたが、この辺に取り組むのはもっと後かな。
PythonのライブラリだとpyhookはWindows用、pykeyloggerは若干用途が違う上にやっぱりX Window必要、あとはこちらもX Windowが必要なpygameかpygletかというところ。
さらに調べていくと、Minimixというツールがpygameを使って同時押しを実現している。(動画を載せてるブログ) これがとても参考になりそうなのでフォークして流用させてもらおうと思う。
このまま行くと、画面もないのにX Windowが内部で動いてる、とても馬鹿らしい実装のアコーディオンになるが、とりあえず動かしてから改めて考えてみたい。
ADコンバータを組み込むためにハンダ付けを練習したい
電子アコーディオン作るんならアナログ回路は欠かせないので、Getting Started with Raspberry Pi (Make: Projects)で説明されてたAdafruitのADコンバータを買った*1ら、ハンダ付けが必要なパーツだった。
ついにハンダ付けきちゃったかー。できればハンダ付けはもうしばらく後回しにしたかったんだけど、避けて通れるものでもないからしょうがない。
ハンダごてやハンダは、数年前にgootのX-2000Eキットを買っててこれでいいとして、いきなり本番に入ると壊したときが残念なので、練習したい。数キロ先には町工場が並んでるような土地柄なので、わりと近所に電子部品屋が見つかり、ST-80 ミニバイスと安いユニバーサル基板を買ってきた。秋葉原まで行かずにすんでラッキーだった。
*1:ついでにRaspberry Pi スキルバッジも買った :-P
AsciiDocは技術的な記事やマニュアル、本を書く際に必要なすべての構造的要素をサポートする
Markdownが1年生だとしたら、AciiDocは博士課程だ。
Wow! AsciiDoc is incredible!!
チュートリアルを書くのに最適な軽量マークアップ言語はなにか、広範囲(Markdown, Textile, reStructuredText, AsciiDoc)に渡って調査した。間違いなくAsciiDocが勝者だ。
AsciiDoc is the way forward
(どちらもDan Allen。このエントリのタイトルも。)
軽量マークアップ言語(lightweight markup language)なんてToDo管理ツールが乱立するのと同じように、みんなオレオレ言語作っててたいして機能的には変わらないだろうと思っていたんだけど、Dan AllenがAsciiDocをべた褒めしてたので、興味が沸いて少々調べてみた。
今の印象を書くと、書式の仕様は他の軽量マークアップ言語に比べて膨大なものの、単純な書式だけで利用することもできるし、応用も効くから、テキストベースで使う分にはAsciiDocにしとくといいんじゃないかなと思う。まあ(はてな記法や社内のMarkdownみたいに)システムに紐づいてるとどうしようもないんだけど。
現在のサイトは http://asciidoc.org/ *1。
*1:わりと最近このアドレスに移動したらしい
小ネタ:MS-Word書類をKindleへ送るややイレギュラーな方法
続きを読む追記:
という指摘を頂いたので試してみたら問題なく表示できたので、この方法を使いましょう。Amazonのヘルプにも確かにDOCって書いてあった。どうしてもローカルでやりたい人は下の方法が考えられる、ということで。