diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c80cb44..0a0eb7f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,7 +21,7 @@ jobs: pages: write id-token: write # The build, the checks and the deployment are shared by all the documentation sites. - uses: boxboxjason/hugo-theme/.github/workflows/docs.yml@0a87a434dbb103054c54db9adbde295b6f5d3f00 # main, same commit as docs/go.mod + uses: boxboxjason/hugo-theme/.github/workflows/docs.yml@b0b783694aa719b11bd004274bdf6c0c52b70367 # main, same commit as docs/go.mod with: deploy: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} check-external-links: ${{ github.event_name == 'schedule' }} diff --git a/docs/content/_index.md b/docs/content/_index.md index 4fd9297..da29ae4 100644 --- a/docs/content/_index.md +++ b/docs/content/_index.md @@ -1,6 +1,7 @@ --- title: Achievements layout: hextra-home +description: "Achievements is a free VS Code extension that turns your coding activity into achievements, levels and experience, tracked locally and privately." --- {{< hextra/hero-headline >}} diff --git a/docs/content/docs/_index.md b/docs/content/docs/_index.md index 23a05a4..f927b84 100644 --- a/docs/content/docs/_index.md +++ b/docs/content/docs/_index.md @@ -1,6 +1,7 @@ --- title: Documentation weight: 1 +description: "Documentation of the Achievements extension for VS Code: install it, earn achievements as you code, and configure what it tracks." --- Achievements is a Visual Studio Code extension that allows you to track your progress in coding, and earn achievements for completing tasks. diff --git a/docs/content/docs/achievements.md b/docs/content/docs/achievements.md index 73f6c1f..5a175ee 100644 --- a/docs/content/docs/achievements.md +++ b/docs/content/docs/achievements.md @@ -1,6 +1,7 @@ --- title: Achievements weight: 40 +description: "The full catalogue of achievements you can unlock in VS Code, with their tiers, requirements and the values needed for each tier." --- diff --git a/docs/content/docs/commands.md b/docs/content/docs/commands.md index 453da5d..5246a88 100644 --- a/docs/content/docs/commands.md +++ b/docs/content/docs/commands.md @@ -1,6 +1,7 @@ --- title: Commands weight: 50 +description: "Every command of the Achievements extension for VS Code, with its identifier, to run from the Command Palette or bind to a shortcut." --- diff --git a/docs/content/docs/getting-started.md b/docs/content/docs/getting-started.md index 1bca32b..9eea23f 100644 --- a/docs/content/docs/getting-started.md +++ b/docs/content/docs/getting-started.md @@ -1,6 +1,7 @@ --- title: Getting started weight: 20 +description: "Get started with the Achievements extension in VS Code: open the panel, unlock your first achievements and follow your level and experience." --- These are the steps of the **Get Started with Achievements** walkthrough, also available inside VS Code from **Help > Welcome**. diff --git a/docs/content/docs/how-it-works.md b/docs/content/docs/how-it-works.md index e714117..765e318 100644 --- a/docs/content/docs/how-it-works.md +++ b/docs/content/docs/how-it-works.md @@ -1,6 +1,7 @@ --- title: How it works weight: 30 +description: "How the Achievements VS Code extension tracks your activity: local SQLite storage, no server, read-only mode, devcontainers and network access." --- - The extension activates on `onStartupFinished` and listens to VS Code and Git events (based on your settings). diff --git a/docs/content/docs/installation.md b/docs/content/docs/installation.md index 347874c..55f4ca9 100644 --- a/docs/content/docs/installation.md +++ b/docs/content/docs/installation.md @@ -1,6 +1,7 @@ --- title: Installation weight: 10 +description: "Install the Achievements extension for VS Code from the Open VSX registry, or download the VSIX from the GitHub releases and install it by hand." --- ## From Open VSX diff --git a/docs/content/docs/settings.md b/docs/content/docs/settings.md index 77074b4..f874383 100644 --- a/docs/content/docs/settings.md +++ b/docs/content/docs/settings.md @@ -1,6 +1,7 @@ --- title: Settings weight: 60 +description: "Every setting of the Achievements extension for VS Code: type, default value and effect, from tracked events to logging and the status bar." --- diff --git a/docs/go.mod b/docs/go.mod index 8446154..ef65346 100644 --- a/docs/go.mod +++ b/docs/go.mod @@ -2,4 +2,4 @@ module github.com/boxboxjason/achievements/docs go 1.26 -require github.com/boxboxjason/hugo-theme v0.0.0-20261031000137-0a87a434dbb1 // indirect +require github.com/boxboxjason/hugo-theme v0.0.0-20261031104331-b0b783694aa7 // indirect diff --git a/docs/go.sum b/docs/go.sum index 40c4f76..6e634a4 100644 --- a/docs/go.sum +++ b/docs/go.sum @@ -1,2 +1,2 @@ -github.com/boxboxjason/hugo-theme v0.0.0-20261031000137-0a87a434dbb1 h1:KJnVzikKioz6fxcdW2MfKOD4baWniGVYvYgHM1p+Dnc= -github.com/boxboxjason/hugo-theme v0.0.0-20261031000137-0a87a434dbb1/go.mod h1:ebGD0oRHgFK9/q9krUBEOIi6WHj6nixMPEXoGoN5nnk= +github.com/boxboxjason/hugo-theme v0.0.0-20261031104331-b0b783694aa7 h1:hVpe2ktV+I5Ba7gLYRt7DC51NDspiC7+cTCotLSAr/M= +github.com/boxboxjason/hugo-theme v0.0.0-20261031104331-b0b783694aa7/go.mod h1:ebGD0oRHgFK9/q9krUBEOIi6WHj6nixMPEXoGoN5nnk= diff --git a/docs/hugo.toml b/docs/hugo.toml index f33e316..548bf6a 100644 --- a/docs/hugo.toml +++ b/docs/hugo.toml @@ -22,6 +22,9 @@ enableRobotsTXT = true [[module.mounts]] source = "layouts" target = "layouts" + [[module.mounts]] + source = "static" + target = "static" # The getting started walkthrough shown inside VS Code is rendered on the site too, # from the same files, and so is the panel animation. [[module.mounts]] @@ -54,5 +57,13 @@ enableRobotsTXT = true icon = "github" [params] + description = "Achievements is a free VS Code extension that turns your coding activity into achievements, levels and experience, tracked locally and privately." + # Social preview rendered with hugo-theme's tools/social-card.mjs. + images = ["images/social.png"] + [params.project] + repository = "https://github.com/boxboxjason/achievements" + license = "https://opensource.org/license/mit" + programmingLanguage = "TypeScript" + runtimePlatform = "Visual Studio Code" [params.editURL] base = "https://github.com/boxboxjason/achievements/edit/main/docs/content" diff --git a/docs/static/images/social.png b/docs/static/images/social.png new file mode 100644 index 0000000..403c837 Binary files /dev/null and b/docs/static/images/social.png differ diff --git a/scripts/generate-docs.ts b/scripts/generate-docs.ts index 12f79db..3d191c0 100644 --- a/scripts/generate-docs.ts +++ b/scripts/generate-docs.ts @@ -49,8 +49,8 @@ function code(value: string): string { return "`" + value + "`"; } -function page(title: string, weight: number, intro: string, body: string): string { - return `---\ntitle: ${title}\nweight: ${weight}\n---\n\n${GENERATED_NOTICE}\n\n${intro}\n\n${body.trimEnd()}\n`; +function page(title: string, weight: number, description: string, intro: string, body: string): string { + return `---\ntitle: ${title}\nweight: ${weight}\ndescription: ${JSON.stringify(description)}\n---\n\n${GENERATED_NOTICE}\n\n${intro}\n\n${body.trimEnd()}\n`; } function commandsPage(pkg: PackageJson): string { @@ -61,6 +61,7 @@ function commandsPage(pkg: PackageJson): string { return page( "Commands", 50, + "Every command of the Achievements extension for VS Code, with its identifier, to run from the Command Palette or bind to a shortcut.", "Run these commands from the Command Palette (`Ctrl+Shift+P` / `Cmd+Shift+P`), or bind them to keyboard shortcuts.", ["| Command | Identifier |", "| ------- | ---------- |", ...rows].join("\n"), ); @@ -90,6 +91,7 @@ function settingsPage(pkg: PackageJson): string { return page( "Settings", 60, + "Every setting of the Achievements extension for VS Code: type, default value and effect, from tracked events to logging and the status bar.", 'Open **File > Preferences > Settings** and search for "Achievements", or run **Achievements: Settings**.', ["| Setting | Type | Default | Description |", "| ------- | ---- | ------- | ----------- |", ...rows].join("\n"), ); @@ -181,7 +183,13 @@ function achievementsPage(): string { `Rows with \`\` exist once per tracked language: ${[...languages].sort().map(code).join(", ")}.`, ].join("\n"); - return page("Achievements", 40, intro, sections.join("\n\n")); + return page( + "Achievements", + 40, + "The full catalogue of achievements you can unlock in VS Code, with their tiers, requirements and the values needed for each tier.", + intro, + sections.join("\n\n"), + ); } function main(): void {