これまで Hugo を使って静的サイトを生成していたが,ちょっと敷居が高いため?筆が遠のく傾向にあったので,作り方を変えた. 今回は Obsidian で markdown を書き,その Obsidian vault をそのまま Quartz という node.js アプリで静的サイトに変換する.テーマの変更は難しそうだけど,デフォルトテーマがシンプルで好きだったのと,Obsidian で気軽にページ&文章作成ができるというところが気に入った.

しかし,Obsidian + Quartz に乗り換える際に少しだけ苦労したのでメモしておく.

  • frontmatterの情報として,slugというpropertyが入っているとサイトが生成されないため削除した.
  • frontmatterのtagsなどの記述が,
    tags: ['hoge', 'fuga']
    
    のようだとだめで,下記のように記述されている必要がある.
    tags:
      - hoge
      - fuga
    
  • また,生成されたhtmlではリンクに .html というsuffixが付いていないようで,リンク切れになったため,サイトの .htaccess ファイルに次を記入することで解決した.
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)$ $1.html [NC,L]
    

作りやすくなったからといって投稿が増えるわけではない,,,という課題は残る.

メモ:サイト更新の手順

  1. Obsidianで編集する.
  2. ターミナルで,
    npx quartz build
    としてサイトを生成する. --serve オプションをつけると,ローカルサーバを起動して,ブラウザで localhost:8080 に接続することで,編集しながらどう反映されるかを確認することができる.
  3. rsyncコマンドでサイトにアップロードする.

上記 2, 3 をスクリプト化して一気にサイト生成&アップロードを行うようにしている.