Shell

シェルスクリプトでCMS作成日記:【第3回】文書管理の仕組みを作る(前編)

どうも、シローです。

今回は、文書管理の仕組みを作ります。

記事の属性について

ブログの記事は大体、

  • 記事のタイトル
  • 記事の本文
  • キーワード
  • 記事の状態(本番、下書きなど)
  • 記事の種類(固定ページか、日記かなど)
  • タイムスタンプ(投稿時間や更新時間)
  • 記事の作成者

を持つとします。

記事ファイルのフォーマットについて

スマートフォンやタブレットでも記述しやすい、また、Gitでプレビューを見れるという観点から

HTMLではなく、マークダウンを使います。

マークダウンで編集したファイルをPandocというツールでHTMLに変換して表示するという仕組みにします。

Pandocを使って、マークダウンをHTMLに変換してみよう

以下のようなマークダウンを用意します。

これをPandocでHTMLに変換します。

メタデータを付与する

次のようにキーワードや作成日などのメタデータを持つマークダウンを作成します。

これを先ほどのコマンドで変換してみます。

本文以外にも、メタデータがついてしまうので、次のようにメタデータは無視する設定(yaml_metadata_block)を付与してコマンドを実行してみます。

無事メタデータは無視されて出力されました。

Gitで記事リポジトリを管理する

ホームディレクトリにリポジトリ用のディレクトリを作成します。

ディレクトリに入ると記事用のディレクトリ「posts」と固定ページ用のディレクトリ「pages」を作成します。

記事のテンプレート用のファイルをおくディレクトリ「template」を作成します。

templateに入り、テンプレートファイル「main.md」を作成します。

記事リポジトリをGitの管理下におく

記事リポジトリをGitで管理できるようにします。

Github管理画面でリポジトリを作成し、

最初のコミットをプッシュします。

今回はここまでにします。

次回は記事を公開する本体のプログラムを作成していきます。

-Shell

© 2023 Shiro's secret base