简单使用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上的优秀网页设计作品希望对你带来帮助。...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 网站建设 (107)
- 网站开发 (47)
- 网络推广哪个平台好 (47)
- 百度收录 (50)
- 搜索引擎排名优化 (49)
- 关键词优化工具 (51)
- 外贸网站建设 (56)
- seo整站优化吧 (50)
- 苏州网站建设 (59)
- 百度搜索推广 (61)
- 关键词优化公司 (51)
- 广州网站建设 (48)
- 电商网站建设 (49)
- 百度站长平台 (48)
- 网站模板 (51)
- 厦门网站建设 (52)
- 百度快照推广 (51)
- 免费网页在线客服系统 (53)
- 雷神代刷网站推广 (53)
- 手机网站建设 (53)
- 网站维护 (53)
- 网页制作教程 (66)
- 百度收录批量查询工具 (48)
- 网站服务器 (53)
- 学生个人网页制作html (56)