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

ページ内目次を右に出す

gitで管理

先人の知恵

RSSを出す

  • mdbook-rss — Rust utility // Lib.rs
    • pubdateを.mdファイル内に書かないといけないのがイマイチ(エディタで自動生成すればマシか?)
    • 全文をRSSに含めてしまう。パクリサイト対策として全文は入れたくない

plugin