发布于 2026-01-05 4 阅读
0

使用专业文档提升您的 GitHub 代码库 🔥

使用专业文档提升您的 GitHub 代码库 🔥

太长不看

每次我们使用某个产品时,无论是框架还是代码编辑器,都会遇到它的文档。

如果文档清晰美观,我们就会立刻喜欢上我们使用的产品。

在本文中,我想告诉大家如何为你的 GitHub 仓库创建专业的文档等等。

好,我们开始吧!🏎️


👀 我们该如何选择?

为了编写文档,我们将使用名为Astro Starlight的现成解决方案。本文将把它与同样流行的VuePress解决方案进行比较,并阐述我们选择 Astro 的原因。

演示

你可以参考这里的文档进行类似的编写。看起来很不错。


1. 💎 设计

首先,我们来比较一下默认项目网站提供的两种设计方案。这样,我们就能知道哪种设计方案更适合我们:

VuePress

VuePress

星光

星光

不同的人喜欢不同的设计。这两个设计都不错,但我们之前用过类似的设计大约一年,实在是看腻了,所以最终选择了目前最受欢迎的第一个方案。


2. 🌊 新鲜度

不过,我们明白 VuePress 需要被替换,要么用 VitePress,要么用 NuxtLabs 的 Docus(NuxtLabs 最近加入了 Vercel)。充分了解这两个项目之后,这一点也对我们最终选择平台起到了至关重要的作用。

我们无论如何都会在项目中使用 Vue,不太可能选择其他开源框架,但事实是,我们不会偏离这个设计,因为它无处不在,让我们想起它。

astrojs

所以,当我们考察其他平台时,发现除了 Vue 之外的其他平台对我们来说都不划算,但我们也需要一些新的东西。Starlight 大约在 2023 年左右推出(或者当时正在积极推广),所以我们认为它是一个不错的选择。


3. 🗄️ 支持旧文件

VuePress 的所有功能都基于文件构建.md。因此,将其迁移到一个同样支持文件的平台对我们来说至关重要。Astro 支持数据文件。我们只需要为旧文件添加一个头部信息,但通常来说,这并不是什么关键步骤。

---
title: Introduction
description: Learn about HMPL
---

## How it works?

The HTML you use on your site is enhanced by adding special blocks that resemble components in syntax...
Enter fullscreen mode Exit fullscreen mode

此外,还有一个意外收获:之前的结构问题{{code}}已经不再存在。HMPL 使用以下结构:

{{#request}}{{/request}}
Enter fullscreen mode Exit fullscreen mode

我们以前经常需要把这个表达式用pre标签包裹起来,以免编译成 HTML 时出错。但是,使用 Astro Starlight 就不存在这个问题了。


📚 组件

您可以使用类块来更清晰地描述您为产品所做的工作。例如,新增组件TabsResult组件Steps等等,所有这些都使文档本身成为一件艺术品。

步骤

有了这些组件,理解模块的工作原理就容易多了。之前,我们在技术部分使用过ecmarkup,但后来我们意识到它无法提供对技术文档的全面控制,而只能展示获取到的结果。


⚙️ 如何将此文档添加到您的项目中?

首先,您需要安装Node.js版本 18 或更高版本,然后运行以下命令:

npx astro add starlight
Enter fullscreen mode Exit fullscreen mode

之后,您需要配置站点配置,该配置位于[此处] astro.config.mjs,我们只能以我们自己的配置为例进行说明:

// @ts-check
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";
import vue from "@astrojs/vue";
import starlightThemeNova from "starlight-theme-nova";

export default defineConfig({
  site: "https://hmpl-lang.dev",
  integrations: [
    vue(),
    starlight({
      title: "HMPL Documentation",
      description:
        "Server-oriented customizable templating for JavaScript. Alternative to HTMX and Alpine.js.",
      customCss: ["./src/styles/main.css"],
      logo: {
        src: "./src/assets/logo.svg"
      },
      expressiveCode: {
        themes: ["min-light", "min-light"],
        useStarlightDarkModeSwitch: false,
        shiki: {
          langAlias: {
            hmpl: "html"
          }
        }
      },
      components: {
        Search: "./src/components/Stars.astro"
      },
      editLink: {
        baseUrl: "https://github.com/hmpl-language/hmpl/edit/main/www/app"
      },
      favicon: "favicon.ico",
      social: [
        {
          icon: "github",
          label: "GitHub",
          href: "https://github.com/hmpl-language/hmpl"
        }
      ],
      sidebar: [
        {
          label: "Start Here",
          items: [
            { label: "Introduction", link: "/introduction" },
            { label: "Getting Started", link: "/getting-started" },
            { label: "Installation", link: "/installation" }
          ]
        }
      ],
      plugins: []
    })
  ]
});
Enter fullscreen mode Exit fullscreen mode

而且,侧边栏和其他参数大多是重复的,这里我就不一一列举全部 200 多行了。


✅ 结论

有了这样的文档,无论主题是什么,你都能打造出非常酷炫且易于推广的产品。你的想法可以通过精美的组件完美呈现,而且无需花费大量资金聘请设计师。


🔗 相关链接:


非常感谢您阅读本文❤️!希望本文能帮助您制作出色的文档!

你觉得这种方法怎么样?还有其他类似的项目吗?欢迎在评论区留言!

PS:也别忘了帮我给HMPL点赞哦!

🌱 星级 HMPL

文章来源:https://dev.to/anthonymax/level-up-your-github-repo-with-professional-documentation-1f3p