TakiWiki3

技術情報

TakiWiki3GitHubGitHub Pagesを利用して運用されています。

研究室メンバーがGitHubに記事をpushすると、自動でGitHub PagesにデプロイされてWebページとしても閲覧できるようになるという流れです。

flowchart LR
A([研究室メンバー]) --> |加筆修正| B[(GitHub リポジトリ)]
B --> |デプロイ| C((GitHub Pages))
B --> |直接閲覧| D([みなさん])
C --> |Webページ版| D

GitHub Pagesでは、Jekyllという静的サイトジェネレータが利用されています。 なるべく保守の手間がかからないようにカスタムは少なめですが、いくつか設定した項目があるので書き残しておきます。

_config.yml

YAMLで書かれたJekyllの設定ファイルです。

詳しくはConfiguration | Jekyll • Simple, blog-aware, static sitesをご覧いただくとして、2023年5月現在、設定されているのは次の項目です。

_includes/head-custom.html

デフォルトで使われるJekyll themeのPrimerでは、このファイルの内容が<head>タグに追記されます。 MathJaxMermaidといったライブラリを利用するための初期化コードなどを次のように記入しています。

<!-- Primer Theme ではこのファイルが自動でレンダ結果の<head>タグ内に展開される -->
<!-- MathJaxを動かすために必要 -->
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<!-- ダイアグラムなどを描画するMermaidの初期化 -->
<script type="module">
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs';
  mermaid.initialize({ startOnLoad: false });
  await mermaid.run({
    querySelector: 'pre > code.language-mermaid', // GitHub Flavored Markdownに合わせる
  });
</script>