百度360必应搜狗淘宝本站头条
当前位置:网站首页 > SEO教程 > 正文

简单使用vitepress快速搭建一个文档网站

gaoyangw 2024-11-15 18:43 15 浏览 0 评论

你好,今天简单写写建站。

VitePress 是一个静态站点生成器 (SSG),类似的项目有docsify、VuePress、hexo。

大概原理就是用 Markdown 编写的内容生成可以轻松部署到任何地方的静态 HTML 页面。

VitePress 附带一个专为技术文档设计的默认主题。你现在正在阅读的这个页面以及 Vite、Rollup、Pinia、VueUse、Vitest、D3、UnoCSS、Iconify 等文档都是基于这个主题的。

VitePress 和 VuePress类似的一个项目。最初的 VuePress 基于 Vue 2 和 webpack。借助 Vue 3 和 Vite,VitePress 提供了更好的开发体验、更好的生产性能、更精美的默认主题和更灵活的自定义 API。

使用下来感觉和VuePress差不多。插件和主题都很少,开箱即用的插件和主题也基本够用了。

前置条件

  • nodejs 18+
  • pnpm 包管理

初始化项目

## 安装pnpm
npm i pnpm -g
## 初始化项目
## 创建一个空目录
mkdir doc-demo
cd doc-demo
## 初始化node项目
pnpm init
# 安装vitepress
pnpm add -D vitepress
pnpm vitepress init

初始化后的目录结构如下:

|-- docs
|   |-- .vitepress
|   |-- api-examples.md
|   |-- index.md
|   `-- markdown-examples.md
|-- node_modules
|   `-- vitepress
|-- package.json
`-- pnpm-lock.yaml

启动项目pnpm run docs:dev,访问http://localhost:5173/就可以看到项目网站已经搭建好了。

多语言支持

由于网站默认是英文的,中文翻译需要配置下。

这里使用插件vitepress-i18n来完成这个功能。

## 安装插件
pnpm add -D vitepress-i18n

修改docs/.vitepress/config.js文件。

/**
 * 多语言配置
 */
const defaultLocale = 'zhHans';
const defineSupportLocales = [
  { label: defaultLocale, translateLocale: defaultLocale }
];

// https://vitepress.dev/reference/site-config
export default defineConfig({
  title: "doc-demo",
  description: "A VitePress Site",
  themeConfig: {}, //此处省略
  locales: generateI18nLocale({
    defineLocales: defineSupportLocales,
    rootLocale: defaultLocale,
  })
})

启动项目pnpm run docs:dev,访问http://localhost:5173/就可以看到网站已经默认是中文的了。

多语言的支持具体可以参考插件的文档。此处只是修改了默认语言。

发布

原理就是使用pnpm run docs:build命令生成静态文件,将生成的静态文件上传到服务器即可。

但是这里借助github的pages来完成这个功能,所以需要编写一个脚本文件。

具体的内容可以参考vitepress官方文档。

在项目的 .github/workflows 目录中创建一个名为 deploy.yml 的文件,其中包含这样的内容:

# 构建 VitePress 站点并将其部署到 GitHub Pages 的示例工作流程
#
name: Deploy VitePress site to Pages

on:
  # 在针对 `main` 分支的推送上运行。如果你
  # 使用 `master` 分支作为默认分支,请将其更改为 `master`
  push:
    branches: [main]

  # 允许你从 Actions 选项卡手动运行此工作流程
  workflow_dispatch:

# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列
# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成
concurrency:
  group: pages
  cancel-in-progress: false

jobs:
  # 构建工作
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0 # 如果未启用 lastUpdated,则不需要
      # - uses: pnpm/action-setup@v3 # 如果使用 pnpm,请取消注释
      # - uses: oven-sh/setup-bun@v1 # 如果使用 Bun,请取消注释
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm # 或 pnpm / yarn
      - name: Setup Pages
        uses: actions/configure-pages@v4
      - name: Install dependencies
        run: npm ci # 或 pnpm install / yarn install / bun install
      - name: Build with VitePress
        run: npm run docs:build # 或 pnpm docs:build / yarn docs:build / bun run docs:build
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: docs/.vitepress/dist

  # 部署工作
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    needs: build
    runs-on: ubuntu-latest
    name: Deploy
    steps:
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

如果访问有问题就要确保 VitePress 中的 base 选项配置正确。

绑定域名

github的pages默认提供了一个访问url。但是如果想绑定自己的域名,需要在github的settings中配置。

具体的配置可以参考github的文档。这里只是简单描述下大概流程。

  • 绑定域名。在github的用户settings中配置,并点击其中的 Pages选项第四步,在右侧输入要验证的域名,并点击 Add domain按钮。
  • 绑定仓库域名。进入仓库界面,并点击上方的 Settings按钮。在左侧栏的 Code and automation 部分,点击 Pages 选项,在右侧的栏目中,将域名填写进去并点击Save按钮。Github Page 将花费一点时间完成对 DNS 配置的检查。

整个过程还是挺快的。具体还涉及到DNS的相关配置。这里就不细说了。

后续计划

  • 增加https的支持。
  • 开发插件支持mermaid展示。
  • 开发插件支持更多的文档属性,兼容hexo。

关于作者

来自全栈程序员nine的探索与实践,持续迭代中。

相关推荐

跨境卖家必看:营销与产品,到底谁才是你的“摇钱树”?

在跨境电商的江湖里,永远流传着两个极端传说:有人靠“一张神图”日销万单,也有人因“产品垃圾”被骂到关店。营销与产品,究竟谁才是跨境卖家的命根子?今天,我们不灌鸡汤,只讲能让你“活下去”的生存法则。...

旺自己的三种方法,一定要牢记

三种旺己之道,开启丰盈人生生活的转机往往藏在自我经营的智慧里。想要旺自己,不妨从这三个方向深耕,让生命绽放独特光彩。专注自我成长,夯实内在根基。...

让顾客感觉占便宜的20种营销策略之赠品策略(三)

赠品策略:巧妙馈赠,让顾客感知超值顾客不喜欢便宜,喜欢的是占便宜的感觉!如何让顾客感觉自己占到了便宜?赠品策略是一种能有效拉近与顾客距离,使其切实感受实惠与惊喜的营销方式。以下为您详细解读常见的赠品...

成都网上注册公司流程

成都注册公司:【四川龙眼企服】成都网上注册公司流程:先得给公司取个响亮又合规的名字,登录当地工商行政管理部门网站,在企业名称预先核准系统查。名字通过后,就得准备注册材料啦,像公司章程、股东身份证明、注...

企业定制网站的优势有哪些?

企业定制网站具有多方面的显著优势,能够精准契合企业需求,助力企业在网络世界中脱颖而出。以下是其主要优势的详细介绍:精准匹配业务需求定制网站能够依据企业的具体业务模式、行业特点以及目标受众,量身定制功能...

学术交流新窗口:微网站搭建赋能会议组织全流程升级

在当今信息化快速发展的时代,学术会议的组织与管理也逐渐向数字化转型。微网站作为学术会议前期准备的重要组成部分,不仅是会议宣传推广的窗口,更是注册报名、征文管理等多项功能的集成平台。本文将对学术会议微网...

网站域名备案流程?分享一下自己的经历

这里以腾讯云为例。想要开发一个网站,网站备案这个流程是必不可少的。首先你要买一个域名,还要买一个服务器,这样就可以备案了。备案分为企业备案和个人备案,企业备案我不清楚,但是个人备案相对比较简单。个人备...

不容错过的网站建设公司总览!

在当今数字化浪潮席卷全球的时代,网络世界的发展可谓日新月异。截至2025年,全球网站总量已然突破20亿个大关,在这个信息爆炸的网络时代,企业官网的重要性愈发凸显。数据显示,高达75%的用户会通过企业官...

从零搭建网站?5个步骤详解网站建设全流程

在数字化时代,拥有一个专业网站已成为企业或个人品牌展示的核心竞争力。但对于新手而言,网站建设往往显得复杂难懂。本文梳理出5大关键步骤,手把手带你完成从策划到上线的全流程,省时省力不踩坑!一、前期准备:...

如何给自己的公司建网站?会打字就能自己做网站

零基础快速使用观达云建站平台为公司建网站,可参考以下步骤:注册与登录访问观达云建站平台官网,点击注册按钮,填写相关信息完成账号注册,然后登录账号。...

电商网的SEO优化策略方法

1、内容质量:网站的内容质量在SEO优化中的分量是最大的,只有有了好的内容才能吸引客户,只有有了独特的内容才能让网页的排名超过泛泛而谈的网页。2、站内基本优化:站内的基本优化则包含网站的内部链接的最大...

现在的网站SEO就该这么做

笔者第一次正事的写一篇完整的博文,主要自己的写作能力很屌丝,一直没怎么完整的写过一篇文章,虽然有自己的博客,但是很多内容是自己收集和组织别人的内容,还有很多内容是直接转载而来。现在要改变下,之后会把自...

逆冬:讲3个SEO相关小问题!权重+收录+15天定律

又是一个周六,由于最近在忙另外一个项目,文章就耽误了,最近又有徒弟相关问题,还有一些同学催更。针对徒弟们问题,我们再来给大家统一讲解!一、15天定律(如何过)...

企业如何抓住AI搜索优化红利?从SEO到GEO的实战转型指南

你是否发现,最近在搜索问题时,答案直接显示在顶部而不需要点击链接?这背后是AI搜索革命正在改写流量规则。据统计,80%的消费者已在30%的搜索中依赖AI摘要,传统网站点击量下降高达10%。当DeepS...

就得仿这样的~来自dribbble上的简约大气网页设计欣赏

谁说简洁的排版不能出彩!好的页面永远是把最重要的信息传达给用户,简单利落!一组简洁的网站首页设计欣赏。下面收集来自于dribbble上的优秀网页设计作品希望对你带来帮助。...

取消回复欢迎 发表评论: