gssg を使用する (静的サイトジェネレーター)
https://git.sr.ht/~gsthnz/gssg
主な用途は Gemlog(Gemini プロトコルで行う blog)を作成する時で
自動的に日付順で index.gmi へ出力してくれます。
あとは生成された中身をデプロイ・アップロードします。
- - - 🎈 - - -
インストール
Go 言語と Git が必要です。
https://go.dev/doc/install
https://git-scm.com/install/
例えばこのようになります。
git clone https://git.sr.ht/~gsthnz/gssg
cd gssg
make
sudo make install
- - - 🎈 - - -
初期設定
例えばこのようにします。
すると example.com フォルダが作られます。
中はこのような感じです。
example.com
├── config.toml
├── content
│ └── index.gmi
└── templates
├── atom.xml
├── index.gmi
└── page.gmi
- - - 🎈 - - -
config.toml
config.toml を編集します。
title = "anon's gemlog" # Gemini のタイトル
url = "example.com" # ドメイン名
source_dir = "content" # 制作するコンテンツの場所
dest_dir = "public" # ビルド先の場所
オプションで次も追加できます。
省略した場合は下記の内容が使われます。
template_dir = "templates" # テンプレートの場所
feed_title = "posts anon's gemlog" # Atom フィードでのタイトル
feed_path = "posts/" # Atom フィードでの場所
- - - 🎈 - - -
テンプレート
page.gmi ・ index.gmi ・ atom.xml の 3 ファイルがあります。
page.gmi
各ページで使用します。
- Content - ファイル内容
- Title - ファイルの一番上にある大きな見出し(# 見出し)
- Date - ファイル名またはファイルの中身にある YYYY-MM-DD
- Permalink
- Config.URL - ページのメイン URL
index.gmi
index.gmi で使用します。
page.gmi と同じ項目に加えて、次の項目が有効です。
- Children - .Chidren.posts で posts/ 内のコンテンツ
atom.xml
atom.xml で使用します。そのままでも問題ないでしょう。
- Title- - config.toml の feed_title
- Path - config.toml の feed_path
- URL - config.toml の url
- Updated - ファイルの最終更新日
- Entries - feed_path 内のページ
- - - 🎈 - - -
ビルド
config.toml があるディレクトリ・フォルダのところで
次をコマンドを実行します
dest_dir の場所(デフォルトでは public/ )内に
ファイル・ディレクトリが生成されます。
これをアップロードして下さい。
- - - 🎈 - - -
🎈 fusen.nya.je
- - - 🎈 - - -
😺 Powered by nya.je