From 1ebf75b6ce5f63768a21304dd333fd6508b68cdb Mon Sep 17 00:00:00 2001 From: Jacob Lamb Date: Thu, 23 Oct 2025 01:37:16 -0700 Subject: [PATCH] add seo --- astro.config.mjs | 127 ++++-------------- src/content/docs/guides/cli.md | 1 + src/content/docs/guides/config.md | 1 + src/content/docs/guides/getting-started.mdx | 1 + src/content/docs/guides/library.md | 1 + src/content/docs/guides/output.md | 1 + src/content/docs/index.mdx | 20 ++- src/content/docs/internals/contributing.md | 1 + src/content/docs/internals/credits.md | 1 + src/content/docs/internals/how-it-works.md | 1 + src/content/docs/internals/sponsors.md | 1 + src/content/docs/internals/users.mdx | 1 + src/content/docs/overview.mdx | 1 + src/content/docs/recipes/anchors.md | 3 +- src/content/docs/recipes/base-url.mdx | 4 +- src/content/docs/recipes/caching.md | 1 + src/content/docs/recipes/excluding-links.md | 1 + src/content/docs/recipes/excluding-paths.md | 1 + src/content/docs/recipes/migration.md | 3 +- src/content/docs/recipes/pretty-urls.md | 6 +- src/content/docs/recipes/root-dir.mdx | 4 +- src/content/docs/recipes/wikilinks.md | 1 + .../docs/troubleshooting/custom-headers.md | 1 + src/content/docs/troubleshooting/mail.md | 1 + .../docs/troubleshooting/network-errors.mdx | 1 + .../docs/troubleshooting/open-files.mdx | 1 + .../docs/troubleshooting/rate-limits.mdx | 1 + src/content/docs/troubleshooting/redirects.md | 1 + .../docs/troubleshooting/status-codes.md | 1 + 29 files changed, 69 insertions(+), 120 deletions(-) diff --git a/astro.config.mjs b/astro.config.mjs index 7c40dda..9bc21fd 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -11,7 +11,7 @@ export default defineConfig({ }, title: "Docs", description: - "Official documentation for lychee - a fast, asynchronous link checker", + "Official documentation for lychee, a fast link checker for finding broken URLs and email addresses in Markdown, HTML, and documentation files", editLink: { baseUrl: "https://github.com/lycheeverse/lycheeverse.github.io/edit/master/", @@ -30,121 +30,52 @@ export default defineConfig({ ], customCss: ["./src/styles/index.css", "./src/fonts/font-face.css"], sidebar: [ - { - label: "Overview", - link: "/overview", - }, + { slug: "overview" }, { label: "Guides", items: [ - { label: "Getting Started", link: "/guides/getting-started" }, - { label: "Library Usage", link: "/guides/library" }, - { label: "Configure Lychee", link: "/guides/config" }, - { label: "CLI", link: "/guides/cli" }, - { label: "Output Modes", link: "/guides/output" }, + "guides/getting-started", + "guides/library", + "guides/config", + "guides/cli", + "guides/output", + "guides/github-actions", ], }, { label: "Recipes", items: [ - { label: "Anchor Links", link: "/recipes/anchors" }, - { label: "Caching", link: "/recipes/caching" }, - { label: "Excluding Links", link: "/recipes/excluding-links" }, - { label: "Excluding Paths", link: "/recipes/excluding-paths" }, - { - label: "Remapping One URL to Another", - link: "/recipes/migration", - }, - { - label: "Testing Sites Not Served from Root with --base-url", - link: "/recipes/base-url", - }, - { - label: "Local File Checking with --root-dir", - link: "/recipes/root-dir", - }, - { - label: "Pretty URLs (Fallback Extensions and Index Files)", - link: "/recipes/pretty-urls", - }, - { label: "Wikilinks", link: "/recipes/wikilinks" }, - ], - }, - { - label: "GitHub Action Recipes", - items: [ - { - label: "Check Links in Repository", - link: "/github_action_recipes/check-repository", - }, - { - label: "Check Links in Pull Requests", - link: "/github_action_recipes/pull-requests", - }, - { - label: "Replace with Archived Links", - link: "/github_action_recipes/archived-links", - }, - { - label: "Add Pull Request Comment", - link: "/github_action_recipes/add-pr-comment", - }, - { - label: "Caching Requests", - link: "/github_action_recipes/caching", - }, + "recipes/anchors", + "recipes/caching", + "recipes/excluding-links", + "recipes/excluding-paths", + "recipes/migration", + "recipes/base-url", + "recipes/root-dir", + "recipes/pretty-urls", + "recipes/wikilinks", ], }, { label: "Troubleshooting", items: [ - { label: "Rate Limits", link: "/troubleshooting/rate-limits" }, - { - label: "Custom Headers", - link: "/troubleshooting/custom-headers", - }, - { label: "Mail Addresses", link: "/troubleshooting/mail" }, - { - label: "Network Errors", - link: "/troubleshooting/network-errors", - }, - { - label: "Too Many Open Files", - link: "/troubleshooting/open-files", - }, - { - label: "Too Many Redirects", - link: "/troubleshooting/redirects", - }, - { - label: "Special Status Codes", - link: "/troubleshooting/status-codes", - }, + "troubleshooting/rate-limits", + "troubleshooting/custom-headers", + "troubleshooting/mail", + "troubleshooting/network-errors", + "troubleshooting/open-files", + "troubleshooting/redirects", + "troubleshooting/status-codes", ], }, { label: "Internals", items: [ - { - label: "How Lychee Works", - link: "/internals/how-it-works", - }, - { - label: "Contributing", - link: "/internals/contributing", - }, - { - label: "Sponsors", - link: "/internals/sponsors", - }, - { - label: "Credits", - link: "/internals/credits", - }, - { - label: "Users", - link: "/internals/users", - }, + "internals/how-it-works", + "internals/contributing", + "internals/sponsors", + "internals/credits", + "internals/users", ], }, ], diff --git a/src/content/docs/guides/cli.md b/src/content/docs/guides/cli.md index 7dd4eeb..24f604c 100644 --- a/src/content/docs/guides/cli.md +++ b/src/content/docs/guides/cli.md @@ -1,5 +1,6 @@ --- title: CLI +description: Complete reference for all lychee command-line options and arguments. --- ## Usage diff --git a/src/content/docs/guides/config.md b/src/content/docs/guides/config.md index 5fc3edb..6229b0f 100644 --- a/src/content/docs/guides/config.md +++ b/src/content/docs/guides/config.md @@ -1,5 +1,6 @@ --- title: Configure lychee +description: Configure lychee using TOML files to customize link checking behavior for your project. --- The configuration file is a [TOML](https://toml.io) file that can be used to specify the options that are also available on the command line. diff --git a/src/content/docs/guides/getting-started.mdx b/src/content/docs/guides/getting-started.mdx index aad6f15..32488d0 100644 --- a/src/content/docs/guides/getting-started.mdx +++ b/src/content/docs/guides/getting-started.mdx @@ -1,5 +1,6 @@ --- title: Getting Started +description: Install lychee and learn how to check links in your documentation, websites, and codebases. --- import { Aside } from "@astrojs/starlight/components"; diff --git a/src/content/docs/guides/library.md b/src/content/docs/guides/library.md index c599d11..907b9d5 100644 --- a/src/content/docs/guides/library.md +++ b/src/content/docs/guides/library.md @@ -1,5 +1,6 @@ --- title: Library Usage +description: Use lychee as a library in your Rust projects to integrate link checking into your applications. --- You can use lychee as a library for your own projects! diff --git a/src/content/docs/guides/output.md b/src/content/docs/guides/output.md index 3ef3fea..c9579f9 100644 --- a/src/content/docs/guides/output.md +++ b/src/content/docs/guides/output.md @@ -1,5 +1,6 @@ --- title: Output Modes +description: Customize how lychee displays results in the terminal and formats reports for different output formats. --- lychee supports a number of output formats for displaying the results of a check. diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 6bcec0c..7f0ff32 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -1,14 +1,14 @@ --- title: lychee -description: A fast, async link checker written in Rust. Finds broken hyperlinks and mail addresses, supports Markdown, HTML and more, simple and lightweight. +description: Fast link checker for finding broken URLs and email addresses in Markdown, HTML, and documentation. Built with Rust for speed and reliability. template: splash editUrl: true lastUpdated: false hero: title: Catch Broken Links in Seconds - tagline: Async, Rust-Powered Simplicity for Docs, Sites, and Codebases. + tagline: Fast, reliable link checking for documentation, websites, and repositories image: - alt: A glittering, brightly colored logo + alt: lychee logo featuring a stylized lychee fruit file: /src/assets/logo.svg actions: - text: Get started @@ -24,21 +24,19 @@ hero: import { Icon, CardGrid, Card } from "@astrojs/starlight/components"; - - Lychee is built with Rust and designed for speed, making it perfect for large projects. + + Built with Rust for speed. Check thousands of links in seconds with async concurrency. - Lychee natively supports Markdown and HTML files, making it ideal for - documentation and websites. + Native support for Markdown and HTML with fallback parsing for any text format. - Lychee is distributed as a single static binary, making installation and - updates a breeze. + Single static binary with no runtime dependencies. Install once and run anywhere. - - Easily integrate lychee into your CI/CD pipelines with structured JSON output. + + JSON output and GitHub Action support for seamless CI/CD integration. diff --git a/src/content/docs/internals/contributing.md b/src/content/docs/internals/contributing.md index a87cda9..edd58c0 100644 --- a/src/content/docs/internals/contributing.md +++ b/src/content/docs/internals/contributing.md @@ -1,5 +1,6 @@ --- title: Contributing +description: Guidelines for contributing to lychee - report bugs, suggest features, write documentation, and implement improvements. --- In case you would like to contribute to lychee, diff --git a/src/content/docs/internals/credits.md b/src/content/docs/internals/credits.md index a55e321..2b5b756 100644 --- a/src/content/docs/internals/credits.md +++ b/src/content/docs/internals/credits.md @@ -1,5 +1,6 @@ --- title: Credits +description: Open source projects and maintainers that make lychee possible. --- lychee would not be possible without the following projects. diff --git a/src/content/docs/internals/how-it-works.md b/src/content/docs/internals/how-it-works.md index 9d5ce52..726ee47 100644 --- a/src/content/docs/internals/how-it-works.md +++ b/src/content/docs/internals/how-it-works.md @@ -1,5 +1,6 @@ --- title: How Lychee Works +description: Technical overview of lychee's asynchronous architecture, link extraction, and concurrent processing pipeline. --- ## High-Level Overview diff --git a/src/content/docs/internals/sponsors.md b/src/content/docs/internals/sponsors.md index b726adb..2f90d62 100644 --- a/src/content/docs/internals/sponsors.md +++ b/src/content/docs/internals/sponsors.md @@ -1,5 +1,6 @@ --- title: Sponsors +description: Organizations and individuals supporting lychee's development through sponsorship. --- Thanks to the following organizations for sponsoring the development of lychee. diff --git a/src/content/docs/internals/users.mdx b/src/content/docs/internals/users.mdx index 904608c..aa1296b 100644 --- a/src/content/docs/internals/users.mdx +++ b/src/content/docs/internals/users.mdx @@ -1,5 +1,6 @@ --- title: Users +description: Projects and organizations using lychee for link checking in production. --- import { CardGrid, LinkCard } from "@astrojs/starlight/components"; diff --git a/src/content/docs/overview.mdx b/src/content/docs/overview.mdx index 8cca8e0..a326f28 100644 --- a/src/content/docs/overview.mdx +++ b/src/content/docs/overview.mdx @@ -1,5 +1,6 @@ --- title: Overview +description: Fast, async link checker written in Rust for finding broken hyperlinks and mail addresses in documentation, websites, and codebases. ---