このサイトでの記事の書き方 — Markdown・コード・数式
このサイトのソースコードは GitHub の yutaro-sakamoto/yutaro-sakamoto.github.io で公開しています。
記事は src/data/blog/ja/ (英語版は src/data/blog/en/) に Markdown または MDX ファイルを置くだけで公開されます。
この記事自体が、使える記法のサンプルになっています。
フロントマター
各記事の先頭には次のフロントマターを書きます。
---
title: "記事のタイトル"
description: "一覧ページとOGPに使われる説明文"
pubDate: 2026-08-22
updatedDate: 2026-08-23 # 省略可
tags: ["Astro", "Markdown"]
draft: false # true にすると本番ビルドから除外される
math: true # 数式を使う記事は true
---
スキーマは src/content.config.ts で Zod により検証されるため、必須項目が抜けているとビルドが失敗します。
コード
コードブロックは Shiki でビルド時にハイライトされます。クライアント側のJavaScriptは不要です。
fn main() {
let cobol_files: Vec<_> = std::env::args()
.skip(1)
.filter(|p| p.ends_with(".cbl"))
.collect();
for path in &cobol_files {
println!("parsing {path}");
}
}
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "HELLO, WORLD".
STOP RUN.
インラインコードは `backtick` で囲みます。
数式
数式は TeX 記法で書きます。ビルド時に KaTeX がHTMLへ変換するので、閲覧者の環境でスクリプトが動く必要はありません。
インライン数式は $...$ で囲みます。たとえば、一般化ペテルセングラフ は 個の頂点を持ちます。
ディスプレイ数式は $$...$$ で囲みます。
環境も使えます。
行列やケース分けも同様です。
その他の記法
GitHub Flavored Markdown が有効なので、表やタスクリストも使えます。
| 料理 | 調理時間 | メモ |
|---|---|---|
| カレー | 40分 | 一晩寝かせると味がなじむ |
| 味噌汁 | 10分 | 味噌を入れたら煮立てない |
| 唐揚げ | 30分 | 二度揚げすると衣がカリッと |
引用も使えます。
- 未完了のタスク
- 完了したタスク
記事を公開する
Markdownファイルを追加して main ブランチに push すれば、GitHub Actions がビルドしてGitHub Pagesへ公開します。
手元で確認したい場合は次を実行します。
npm install
npm run dev