mdBook ノウハウメモ
Themeの使い方
.hbs は Handlebars という言語らしい
Google Analytics
cf. https://llever.com/mdbook-nice-example/
[output.html]
google-analytics = "UA-XXXX-X"
そのうち使えなくなるらしい。 theme/head.hbs にAnalyticsのコードをそのまま貼れば良いようだ。
The output.html.google-analytics field has been deprecated; it will be removed in a future release. Consider placing the appropriate site tag code into the theme/head.hbs file instead. The tracking code may be found in the Google Analytics Admin page.
Google Adsense
上に出すのは theme/header.hbs でなんとかなりそう(particalという仕組みのようだ)。 下に出すのは theme/index.hbs に書けばできるが、ダサい。 別ファイルにして include するには?
要望は出ているようだ。
links preprocessor を有効にすればmdファイル内でincludeが使えるが、hbs内では使えない。
[preprocessor.links]
検索機能をオフ
[output.html.search]
enable = false
左の目次を起動時は畳む
index.hbs内で、画面幅を見てon/offしている。
var sidebar = 'hidden';
if (document.body.clientWidth >= 1080) {
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
sidebar = sidebar || 'visible';
}
index.hbs の機能On/Off
index.hbs内でifで切り替えできる部分は、book.tomlのoutput.htmlで制御できる。
{{#if search_js}}
:
{{/if}
[output.html]
search_js = false
ページ内目次を右に出す
-
mdbook-theme — Rust utility // Lib.rs
- 他にも多くのテーマあり
gitで管理
先人の知恵
RSSを出す
- mdbook-rss — Rust utility // Lib.rs
- pubdateを.mdファイル内に書かないといけないのがイマイチ(エディタで自動生成すればマシか?)
- 全文をRSSに含めてしまう。パクリサイト対策として全文は入れたくない
plugin
- mdbook-plugins · GitHub Topics
- mdbookのプラグインを作る話 - Speaker Deck
- dylanowen/mdbook-graphviz
- francisco-perez-sorrosal/mdbook-bib: mdbook plugin allowing to load and present a bibliography in BibLaTex format in your books and cite its references
- mdbook - ToC and Mermaid preprocessors