Hello, World

目錄

這是一篇佔位文章 —— 等你發布真正的內容後可以刪掉它。它的存在是為了讓網站在設定階段 至少有一篇文章可以顯示,同時也示範新文章該用什麼 frontmatter 格式。

寫一篇新文章

複製這個檔案、重新命名(檔名就是網址的一部分,例如 my-post.md → /post/my-post/), 然後填寫 frontmatter:

---
title: "文章標題"
description: "一到兩句話,用於摘要與 meta description。"
pubDate: 2026-08-25
tags: ["Web Security", "CTF"]
draft: false
---

只有 title、description、pubDate 是必填欄位。tags 預設是空陣列(會顯示在側邊欄的 「Uncategorized」分類底下)。寫作過程中可以先設 draft: true —— 草稿文章不會出現在任何 列表或 RSS 中,也不會產生對外的網址。

雙語文章

如果這篇文章也要有英文版本,另外新增一個檔名加上 .en 的檔案,例如這篇文章對應的英文版本 就是 hello-world.en.md(可以直接線上看:English version), frontmatter 裡要加上 lang: "en"。兩篇文章 會依照檔名自動配對(去掉 .en 後綴即為配對用的 key),網址分別是 /post/hello-world/ (中文,預設語言,不加前綴)與 /en/post/hello-world/(英文)。頁首與文章頁的語言切換 按鈕會自動連到對應的另一語言版本;如果某篇文章只寫了一種語言,切換按鈕會改連到另一語言 的文章總覽頁,並在文章開頭顯示提示文字。

程式碼區塊

Fenced code block 會在 build time 由 Astro 內建的 Shiki 做語法高亮 —— 不需要額外套件, 也不會有任何 client-side JavaScript:

def exploit(target):
    # send payload
    r = requests.get(f"{target}/vuln?id=1")
    return r.text

就是這樣

標題(##、###)只要有兩個以上,就會自動出現在文章開頭的目錄中。