inject_external_info
mkdocs.yml や overrides では、外部情報をベタ書きする必要があり避けたい。
python でスクリプトを書き、以下の二つのアプローチで対応する。
overrides/*.htmlを生成する ( recommended )mkdocs.ymlを上書きする
@see: https://squidfunk.github.io/mkdocs-material/customization/#overriding-blocks
create_backup()
¤
mkdocs.yml のバックアップファイルを作成する
disable_show_source()
¤
Disable Handler Option (show_source) in MkDocs (via mkdocs.yml)
Python Hanfler の option で、ソースコードの表示をオフにする。
PDF として出力する際に、当該ソースコードが長大になると うまく出力されなくなる。 これを防止するために、ソースコード無しで出力させる。 (あるいは出力方法を変更すれば解決するかも……?)
静的サイトとしてビルドする際は、ソースコードがあったほうがいいと思う。 よって、python スクリプトで当該部分を切り替えられるようにした。
prepare_google_ads()
¤
Embed Google Ads in MkDocs (via overrides)
MkDocs に Google Adsense の広告を埋め込むには、overrides/main.html を拡張して
head 要素内に広告スクリプトを置いてやることになる。
静的ファイルにベタ書きしたくないので、python スクリプトで生成する。
prepare_google_analytics()
¤
Embed Google Analytics in MkDocs (via mkdocs.yml)
MkDocs に Google Analytics を設置するには、mkdocs.yml に設定を加えてやればよい。
Theme ごとに書き方の揺れはあるが、おおよそ G-XXXXX を書けば済む。
しかし、実際にはそういう情報を 設定ファイルにベタ書きしたくない。 よって、python スクリプトで当該部分を置換してやることにした。
prepare_template_sitemap()
¤
Fix sitemap.xml with incorrect value None
MkDocs ではデフォルトで sitemap.xml を出力する機能があるのだが、
いろいろなプラグインを入れていく過程でなぜか不正なURLを持つようになってしまった。
<loc>None</loc> となっている部分を排除すればいいので、
Jinja2 template の該当部分を見て条件分岐を修正した。