JavaScript Promiseの本Ver1.2とAsciidoctor
Promise本
以前JavaScript Promiseの本を書きました | Web Scratchでも書いていましたが、 電子版である意味は常に書籍が更新できるという点が大きいです。
そのため、JavaScript Promiseの本 も semverな感じでアップデートしていっています。
どのような変更があったかはGitHub Releaseにかかれているのでそちらを参考にして下さい。(RSSで購読も出来ます)
現在Promise本はver1.2ですが、1.0.0…1.2.0では以下のような変更が主なところです。
1.0.1 (2014-06-23)
- “金を払えないという重大なバグ“を修正 (7909005)
1.1.0 (2014-06-25)
コラム: Promiseは常に非同期? への加筆
1.1.3 (2014-07-31)
HTML5 Rocksの記事を日本語版へと変更 (1a98dab , closes #181)
1.2.0 (2014-08-13)
Asciidoctor 1.5.0に対応しました。テーマの表示の変更なども含まれています
という感じですが、1.2.0ではPromise本の生成に使ってるAsciidoctorの1.5がリリースされたため、そちらに対応しました。
Asciidoctor 1.5
AsciidoctorはAsciidocのruby実装ですが、1.5ではかなり大幅な変更が含まれています。
主な所をみていくと以下のような感じです。
- Graphviz等のDiagramsの対応
- DocBook 5がデフォルトに(今までは4.5)
- デフォルトテーマの変更
\b
のユニコード対応- JavaやLaTex等の依存がないRubyだけでPDFやePubの生成が可能に
- Opalを使ったAsciidoctorのJavaScript版であるasciidoctor.jsのリリース
破壊的な変更もいくつかあってCompat modeを使うと一応維持できますが、移行方法について詳しく書かれています。
Promise本も幾つか問題が起きていたので以下で対処しています
DocBook 5がデフォルトになった影響で [[id]]
が誤認されてasciidoctor-fopubでPDFがビルドできない問題や、テーマのrevert的な対処をしています。
Asciidoctor 1.5のデフォルトテーマはUse open source fonts in the default stylesheet · Issue #879 · asciidoctor/asciidoctorのIssueで上げられているようにオープンソースのCJKフォントをデフォルトに指定してきます。
Noto Sans や Droid Sans Monoとか指定されて嬉しい人がいるのかよくわかりませんが、font-weightが全体的に細くなって読みにくい感じだったので、フォントだけを変更したcssを別途読み込むように修正してあります。
font-family
を書き換えてるだけなので、別途CSSをdocinfo fileから読み込んで!important
するだけでもいいかもしれません。
最近GitHubのテーマも変わりましたが恐らくそれに合わせてる感じのテーマな感じがします。
また、今まではMarkdownと同じように、バッククオートの前後にスペースをいれなくても問題ありませんでしたが(アスキー文字の場合は元から開けないといけない)、これが厳密に CJKV に対応したため表示が崩れることがあります。
日本語では、このように`some_code()`と書くことがあります。
以下のように誤爆した感じになってしまう。
開発者さんに聞いた所意図した動作で、 CJKV への対応のためという感じでした。 これは単純にスペースを開ける方法や、別の書き方で回避できるとのことでした。
日本語では、このように `some_code()` と書くことがあります。
日本語では、このように##`some_code()`##と書くことがあります。
日本語では、このように++pass:[some_code()]++と書くことがあります。
日本語では、このように++some_code()++と書くことがあります。
Promise本ではスペースをあけて書くように書き換えてあります。
- Asciidoctorのinline literal passthroughの仕様の変更について by vzvu3k6k · Pull Request #173 · azu/promises-book
- Breaking changes in inline code literal? · Issue #984 · asciidoctor/asciidoctor
最近のPromise本の変更点はこんな感じでした。
お知らせ欄
JavaScript Primerの書籍版がAmazonで購入できます。
JavaScriptに関する最新情報は週一でJSer.infoを更新しています。
GitHub Sponsorsでの支援を募集しています。