Quartoとは
Quarto(https://quarto.org/)はPosit社が開発したオープンソースの文書作成ツールである.Pandocベースで汎用性が高く,RやPython,Juliaなどのコードを埋め込んだ文書を作成することができる.
以前はJekyll+Github Pagesでサイトを作っていたが,コード付きのブログを書くのが少し手間だったのでこちらに乗り換えることにした.もともと実験データの解析や普段の文書作成で利用していたので慣れているというのもある.
公開と作成の手順
基本的には公式ガイドの通りにやればよい.
ローカルでウェブサイトを作成する
まずプロジェクトを作成する.
Terminal
quarto create project blog mysitequarto previewコマンドでプレビュー可能.
Terminal
cd mysite
quarto previewGithubにpushする
Github Pagesで公開するために_quarto.ymlを編集する.ここではdocs以下に出力するようにしている.
_quarto.yml
project:
type: website
output-dir: docsGithub PagesではデフォルトでJekyllを使用することになっているので,余計な処理をしないようルートディレクトリに.nojekyllファイルを作成する.
Mac/Linux
touch .nojekyllWindows
copy NUL .nojekyll指定したディレクトリにHTMLを出力.
Terminal
quarto render無事にレンダリングされたら,Githubにpushしよう.
Terminal
git add .
git commit -m "first commit"
git push origin masterGithub Pagesで公開する
Settings > Pagesからdocsフォルダを公開するよう設定する.

これで完成.
他にもquarto publishコマンドで公開したり,Github Actionsで自動的にレンダリングするようにしたりできるが,今回は割愛.詳細は公式ガイドを参照すればよい.
ポストを追加する
ポストを追加するにはposts以下に新たにディレクトリを追加し,その中にindex.qmdを作成する.ディレクトリ構成の例は以下の通り.
mysite
├── posts
│ ├── post1
│ │ └── index.qmd
│ ├── post2
│ │ └── index.qmd
│ └── _metadata.yml
├── _quarto.yml
├── index.qmd
└── blog.qmd以下のようにポスト内容を記述すればよい.
mysite/posts/post1/index.qmd
---
title: "My first post"
description: "Post description"
author: "John Doe"
date: "2023-12-06"
date-modified: "2023-12-07"
categories:
- news
- code
- analysis
---
This is my first post.categoriesに適当な項目を指定することで各ポストにタグを付加することができる.デフォルトではquarto renderするたびにposts/以下の.qmdファイルが自動的にレンダリングされる.ブラウザから/blog.htmlにアクセスすると,投稿がリストアップされていることを確認できる.
まとめ
せっかくサイトを整備したのでこれからブログ投稿をたくさんしていきたいですね.
いい加減にプロフィール画像を実家の猫から変えなければ…