C#製の静的サイトジェネレータ「Statiq」を試す。

How To

C#で動作する静的サイトジェネレーターがあるとのことだったので試してみました。

スポンサーリンク

環境

  • Windows 11 Home 21H2 22000.493
  • .NET Core 5.0.405
  • Statiq.Web 1.0.0-beta.44

準備

.NET Core 5.0

.NET Core 5.0 Framework を使うので未インストールの場合は、事前にインストールしておきます。

こちら から「.NET Core SDK 5.0」をダウンロードしてインストールします。

.NET Core SDK 5.0 ダウンロード

インストールしてあるか調べる方法

次のコマンドを使うと .NET Core のインストール状態が分かります。

dotnet --list-sdks

私の場合は 5.0 と 6.0 がインストールしてありました。

.NET Core インストール状態

Statiq

コンソールアプリの作成

Statiq を使うため、.NETCoreコンソールアプリを作成します。

適当なフォルダでコマンドプロンプトを開き、

コマンドプロンプト起動

次のコマンドを使ってコンソールアプリを作成します。

dotnet new console -o MyGenerator --framework net5.0
コンソールアプリ作成

Statiq のインストール

今作ったコンソールアプリに Statiq をインストールします。

まず、コマンドプロンプトのディレクトリを今作ったコンソールアプリに移動して、

cd .\MyGenerator\
ディレクトリー移動

移動できたら次のコマンドをコピペして 最新のStatiqパッケージ をインストールします。

最新バージョンは こちら から確認できます。

dotnet add package Statiq.Web --version 1.0.0-beta.44

Statiq の設定

Statiqパッケージがインストールできたら、Statiqを使うように処理を修正します。

「Program.cs」を開いて次のようにコードを修正します。

using Statiq.App;
using Statiq.Web;
using System.Threading.Tasks;

namespace MyGenerator
{
    class Program
    {
        static async Task<int> Main(string[] args)
        {
            return await Bootstrapper
                .Factory
                .CreateWeb(args)
                .RunAsync();
        }
    }
}
Statiqの設定

記事の追加

ブログの記事が無いと動作確認ができないので、ひとまず簡単な記事を追加します。

プロジェクトフォルダ内にフォルダ名「input」というフォルダを作り、

inputフォルダ作成

inputフォルダ内にフォルダ名「posts」というフォルダを作ります。

postsフォルダ作成

さらにpostsフォルダ内に記事の素となる、マークダウンファイル「example.md」というテキストファイルを作ります。

マークダウンファイル作成

今作った example.md をテキストエディターで開いて、次の内容をコピペします。

Title: This Is An Example Post
Lead: Yay for examples!
Published: 12/13/2014
Tags:
  - Examples
  - Code
---
This is my example blog post content.
マークダウン記事作成

テーマの適用

このままだとまだブログの体裁をなしていないので、こちら から最小構成のブログテーマをダウンロードして適用させます。

まずプロジェクトフォルダに「theme」フォルダを作り、

themeフォルダ作成

CleanBlogテーマ をダウンロードして、今作ったthemeフォルダに展開します。

テーマをダウンロード

展開したらこんな感じになりました。

テーマの展開

動作確認

最後に動作確認をします。

次のコマンドを実行すると「http://localhost:5080/」で動作確認ができます。

dotnet run -- preview
dotnet run
My Blog

今後

とりあえず静的サイトジェネレーターが動くところまで確認できました。

今後は、デプロイや機能追加について調べていこうと思います。

参考

Statiq - About Statiq Framework
タイトルとURLをコピーしました