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