Astro, Cloudflare Pages.
markdownパイプラインはsrc/markdown-pipeline.jsに集約されていて、サイト本体のレンダリングと/html/<slug>エンドポイントで共有される。
*strong* / _emphasis_ / #footnote[内容] / 行頭=見出し(=がh2) / #quote(...)[引用文]。詳細はwriteing_rule.mdを参照。
出典付き引用は#quote(attribution: "Markdown - Wikipedia", url: "https://ja.wikipedia.org/wiki/Markdown")[引用文]のように書くと<figure><blockquote cite="..."> + <figcaption><cite>になる(引数は両方任意)。
| 記法 | 出力 |
|---|---|
:::message |
黄色の注意ボックス |
:::alert |
赤色の警告ボックス |
:::details[ラベル] |
折りたたみ(<details>/<summary>) |
:::image-row |
画像の横並び(下記) |
:::pros / :::cons |
+ / − 付きリスト |
| その他任意の名前 | その名前がclassになった<div>(インラインは<span>) |
:::image-row内の画像は1枚なら原寸(コンテナ幅まで)、2枚なら半分ずつ、3枚以上は高さを揃えて横スクロール。
- :+ 項目/- :- 項目→ 通常リスト内に+/−項目を混在できる+ 項目で始まる箇条書きはリスト全体がprosになる
言語名の後に:を付けてタイトルを書くとコードブロック上部に表示される。
```rust: main.rs
fn main() {}
```各コードブロックにはクライアントサイドでCopyボタンが付く。
altテキストに#xxxを含めるとサイズ・挙動を制御できる。
| サフィックス | 効果 |
|---|---|
#auto |
原寸(width: auto) |
#small |
200px |
#medium |
48% |
#middle |
50% |
#upper |
80% |
#no-lightbox |
クリック拡大(ライトボックス)の対象外にする |
#no-deco |
リンク画像の下線・外部リンクアイコンを消す |
#download |
リンクにダウンロードアイコンを付ける |
記事内の画像はクリックでライトボックス表示(h/l・矢印キーで前後、Escで閉じる)。
- 記事中の行に裸のツイートURL(
https://x.com/.../status/...)を置くと埋め込みに変換 - 外部リンクは自動で
target="_blank"+ 外部リンク装飾 - 脚注の戻りリンク
↩はSVGアイコンに置換(iOSの絵文字化対策) - 各記事はraw表示エンドポイントあり:
/md/<slug>(markdown)、/html/<slug>(HTML) - OG画像はsatoriでビルド時に自動生成(
/og/<slug>.png)
./new # bun製の対話スクリプト。タイトル等を入力するとsrc/content/にひな形を生成frontmatterスキーマ(src/content.config.ts): title, date, published(必須) / latest_edit_at, description, tags(任意)。
bun run tagsでsrc/content内の記事とsrc/data/external.jsonのタグを検査できる。Unicode正規化・前後空白除去・小文字化、およびsrc/dev_tools/tag-rules.jsonに定義した別名を適用対象として報告する。
bun run tags報告だけを行い、ファイルは変更しない。たとえばLinuxはlinux、colomnは設定済みのcolumnとして表示される。
bun run tags -- --fix報告された安全な変更を適用する。タグは小文字・NFKC正規化され、別名へ置換され、同一記事内で重複したタグは1つにまとめられる。実行前にbun run tagsで差分を確認すること。
bun run tags:checkCIなどの確認用。正規化が必要なタグまたは未抑制の類似タグがある場合、終了コード1で終了する。
bun run tags -- --generate-rules既存タグから別名ルールの候補を表示する。4文字以上かつ編集距離1以内の表記ゆれだけを対象にし、出現回数が多い方へ寄せる保守的な推定を行う。表示のみで、設定ファイルは変更しない。
候補を確認してから反映する場合は、次を実行する。
bun run tags -- --generate-rules --write-rulesプロジェクト固有の同義語や、意図的に似ているが別物のタグはタグルールに記述する。
{
"aliases": {
"neovim": "nvim",
"colomn": "column"
},
"ignoreSimilar": [["nvim", "vim"]]
}aliasesは左側を右側の正規表記へ置換する。ignoreSimilarは類似タグの警告を抑制する。neovimとnvimのような意味上の同義語は自動生成では判断できないため、ここに手動で追加する。
bun run prepare:gitタグの正規化・重複除去・辞書順ソート、src/content配下の画像圧縮、ソース/設定ファイルのPrettier整形、production buildを順に実行する。Gitコマンド(add・commit・pushを含む)は一切実行しないため、このコマンドの後に内容を確認してからGit操作へ進める。画像は元より小さくなる場合だけ上書きし、バックアップファイルは作成しない。まず変更内容だけ確認する場合はbun run prepare:git -- --check、buildを省く場合は--skip-buildを付ける。旧名のbun run prepare:pushも互換用エイリアスとして利用できる。
募集中です。以下に例。200x40px
