Contribution Guide
This guide covers public site content submissions and edits. If you are working on repository maintenance, CI, release flow, or the npm package, see the Maintenance Guide.
Feel free to submit or revise content through pull requests.
Quick Start
- Install dependencies:
pnpm install - Start the docs development server with hot reload:
pnpm docs:watch - Build the docs site:
pnpm docs:build - Build the docs site and start the preview server:
pnpm docs:preview - Before submitting, run
pnpm fmt,pnpm lint, andpnpm test
Using Vue in Markdown
In VitePress, each Markdown file is compiled to HTML and treated as a Vue single-file component. That means you can use Vue dynamic templates, components, and <script> logic directly in Markdown. Before editing these pages, read the official VitePress guide first.
Keep raw HTML template blocks contiguous and well-formed. Do not insert arbitrary blank lines inside containers such as <select>...</select>, or VitePress may surface Vue template parse errors during development or build, such as Element is missing end tag.
- Bad:
<select v-model="dayType">
<option
value="0"
>
Next Day
</option>
</select>- Good:
<select v-model="dayType">
<option value="0">Next Day</option>
</select>Categories
Article Frontmatter Template
---
outline: deep
published: 2025-12-07T21:45:30Z
author:
- name: Contributor A
link: https://github.com/contributor-a
email: contributor-a@example.com
- name: Contributor B
link: https://github.com/contributor-b
email: contributor-b@example.com
references:
- name: Reference name
link: https://example.com
archive:
ia: https://web.archive.org/web/20231207120000*/https://example.com
---Field descriptions:
published(required): publication date and timeauthor(required): at least one author withname; bothlinkandemailare optionallink: a web contact such as a personal site or GitHub profileemail: an email contact- Rendering rule: if
linkexists, it is used as the author link; otherwiseemailis used as amailto:link; if both are empty, no link is rendered
references(optional): a list of source materials; each item should includename,link, andarchive; omit the field entirely if there are no referencesarchive: archive information. Multiple archive types are allowed, such asia(Internet Archive) orwayback, each with its own archive URL- Example:
ia: https://web.archive.org/web/...orwayback: https://...
- Example:
Frontmatter must appear at the beginning of the Markdown file and be wrapped in
---. The article body must begin with a level-one heading in the form# Article Title.
Tool Frontmatter Template
---
publish: false
published: 2025-12-07T21:45:30Z
---Field descriptions:
publish: false(required): prevents the page from being included in the RSS feedpublished(required): publication date and time
Frontmatter must appear at the beginning of the Markdown file and be wrapped in
---. The content must begin with a level-one heading in the form# Tool Name.