Configuration
Site name, navigation, forms, and analytics all live in one file.
Everything that is specific to your site is in src/config.ts. If you find yourself editing a component to change your name or a link, look there first.
Site
| Key | What it does |
|---|---|
name |
Shown in the header and page titles |
url |
Your production URL, used for canonical links and RSS |
locale |
'en' or 'ko'; picks the interface strings |
author |
Used in the footer and structured data |
Navigation
nav.header is the list in the top bar. nav.footer is a list of groups, each with a title and links. Keep the header short — four links fit comfortably on a phone.
Forms
The contact form posts to Web3Forms. Paste your access key into forms.web3formsKey; with JavaScript on, the message is sent without leaving the page.
For the newsletter form, set forms.newsletter.provider:
| Provider | id |
|---|---|
'buttondown' |
Your Buttondown username |
'kit' |
The Kit form ID (the number in /forms/<id>/) |
'custom' |
Leave empty and put the subscribe URL in action |
Until these are filled in, the forms render but cannot be submitted.
Comments
Comments use Giscus, which stores them in GitHub Discussions. Enable Discussions on a public repository, install the giscus app, and pick the repository on giscus.app. Copy the data-repo, data-repo-id, data-category and data-category-id values into giscus, then set features.comments to true. The widget follows the light and dark theme and the post’s language.