created by vuepress
nvm use
npm ci
npm run dev
visit localhost:8080本项目当前使用 Node.js 24 LTS、VuePress 2 和 Vite,站点使用 VuePress 2 默认主题。
当前主题已启用 VuePress 2 的本地搜索、正文关键词索引、图片放大、代码复制、返回顶部、阅读进度和标题高亮等能力。
项目默认使用 GitHub Actions 构建并发布到 GitHub Pages:推送到 master 后,Actions 会在 Node.js 24 环境中执行 npm ci、内容/资源审计和 npm run build,再上传 dist。首次启用时,在仓库 Settings → Pages → Build and deployment 中选择 GitHub Actions;自定义域名 www.wenkers.cn 也在这里配置。
发布统一使用 GitHub Actions;deploy.sh 仅保留作历史手动兜底,不应在日常流程中使用,因为它会通过 SSH 强制推送 gh-pages。
提交前可运行:
npm run audit
npm run build也可以一次执行完整检查:
npm run check提交到 master 即可触发 GitHub Actions 发布;不再使用本地强制推送 gh-pages 的方式。
这里主要讲一些页面配置的东西。
首先关于vuepress的使用,大部分内容可以在其官网上进行查看https://vuepress.vuejs.org/zh/
关于本页面的编写,需要同步进行配置几个地方。
基于遵守vuepress的路径解析原理,该项目中所有文件路径都写成/dir/,头部和尾部都需要带上/符号
需要在/docs/university/目录中增加城市的markdown文件,例如beijing.md,然后需要在/docs/.vuepress/area.js/增加城市信息,现有的城市信息已经配置完善不需要再配置。
var area = [
{
title: '华北地区',
collapsable: false,
children: [
'beijing'
]
}
];每一个学校以学校英文简称在/docs/下创建一个文件夹,例如/docs/pku/;如果存在重名则需要写成有区别的名字,我们约定重复的简称后面加_{数字},例如北京大学为/docs/pku/,假设存在北京没有英文名大学简称也是pku,那么路径为/docs/pku_2/,并且一定要有一篇README.md作为根路由。
同时学校的的目录结构也需要在/docs/.vuepress/sidebar.js中进行配置,例如:
var sidebar = {
'/pku/': [{
title: '北京大学',
collapsable: false,
children: [
'',
'article'
]
}],
};这样做的目的是为了将各个学校的每一篇文章都拆成一个markdown文件,以便进行更为颗粒化的管理,可以在本地运行后,点击http://localhost:8080/OurBook/pku/查看侧边栏配置的修改。
首先在/docs/.vuepress/univ.js中配置所需要添加的大学的名字与简称;
然后可以在script文件夹中找到genFile.js,使用以下命令可以自行生成默认文件结构。
node genFile.js现已经更改为脚本自动扫文件目录生成,无需再进行配置
这里约定每一篇文章都是单独的markdown文件,每篇文章需要有一级标题,作者使用>符号包起来,其余具体的可以看看markdown的语法
新文章的 frontmatter 和资源管理约定见内容管理约定。
关于过去的已经有的文章,但是太过久远已经失效的,在每所学校路径下都有一个备份文件夹,写做/docs/pku/backup/,里面存放该项目所涉及的所有的失去时效性的文章以作参考。
由于本项目使用vuepress构建,所以每个md文件都会被编译为.vue文件,所以可以在markdown当中直接书写页面,具体的使用方式可以参照vuepress自定义页面来进行书写
项目当前使用 VuePress 2 默认主题,实际生效的客户端扩展位于 docs/.vuepress/client.js,全局样式位于 docs/.vuepress/styles/index.scss。docs/.vuepress/theme/ 中的 VuePress 1 主题源码仅作历史参考,未被当前配置加载。