86459


技術的に不可能な話をしていたら申し訳ありません。

ローカルのWindowsファイルサーバー(共有フォルダ)にHTMLを置くことでアクセスできるドキュメントサイトを作成したいです。  
サイトのコンテンツはmarkdownで記載したいです。  
そこでSSGにたどり着いたのですが、殆どがホスティングサーバー必須のものと見受けられます。  
中でも、mkdocsやmkwikiは要件を満たしているとは思うのですが、他の選択肢もあれば検討したいです。

必須ではないですが、他に満たしていたら嬉しい要件としては  
・ページをPDF出力できるプラグインがある事  
・ページをDocx出力できるプラグインがある事  
・ページ内検索ができる事  
があります。

ビルド不要なdocsifyがこの運用で動けば1番嬉しかったのですがホスティング必須のようで諦めています。

複数の質問を含むような内容になってしまいましたが、ご教授いただければ幸いです。


CC BY-SA 4.0
2022-02-16T23:40:28.733
86402
2022-02-19T15:52:00.750
51461
question
html windows markdown
ホスティングサーバー不要のSSGってありませんか？


SSGというのは事前に静的コンテンツを生成しておく仕組み(を提供するツール)なので、本質的には

  * ホスティングしなくても、直接ブラウザで開ける(ように作ることは可能)
  * 事前ビルドは必要

です。  
他方、SSGツールにはプレビュー機能も搭載されている(ことが多い)ので、この機能を使うことで

  * 事前ビルドなしにオンデマンドでコンテンツを生成する

こともできます。  
ただし、 `file://` で開くためには(現代のブラウザでは) CORS チェックを無効化する必要があります。

* * *

具体的な手順は次の通りです:

  1. Firefox の設定画面で [`security.fileuri.strict_origin_policy`](http://kb.mozillazine.org/Security.fileuri.strict_origin_policy) を `false` に設定する。
  2. [Docsify のドキュメント](https://docsify.js.org/#/quickstart?id=manual-initialization)に従って `index.html` を作成する。このときプロトコル `https://` を明示する。 
[code]    <!-- index.html -->

    
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <meta charset="UTF-8">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify@4/themes/vue.css" />
    </head>
    <body>
    <div id="app"></div>
    <script>
        window.$docsify = {
        }
    </script>
    <script src="https://cdn.jsdelivr.net/npm/docsify@4"></script>
    </body>
    </html>
    
[/code]

  3. 上記で作成した `index.html` と同じディレクトリ階層に [`README.md`](https://docsify.js.org/#/configuration?id=homepage) を作成する。例: 
[code]    cat > README.md <<EOF

    # タイトル
    本文
    EOF
    
[/code]

  4. `index.html` を Firefox で開く

* * *

コンテンツを(プレビュー機能を利用して)動的生成する場合、JSでローカルファイルにアクセスする必要がありますが、それを実現するためには次のいずれかを行う必要があります。

  * CORSチェックを無視してローカルファイルにアクセスできるようにする 
    * 前述のブラウザ設定変更を行う
  * Same-Origin で提供する 
    * http サーバでホストする

どちらも許容できないのであれば、SSG本来の使い方、すなわち事前ビルドして静的コンテンツを生成する、を選択することになるかと思います。


CC BY-SA 4.0
2022-02-19T13:58:05.653
86459
2022-02-19T15:52:00.750
2022-02-19T15:52:00.750
2808
2808
86402
answer