18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 建站知识 > 多个GithubPages+VuePress+二级域名配置

多个GithubPages+VuePress+二级域名配置

时间:2023-02-08 00:20:01 | 来源:建站知识

时间:2023-02-08 00:20:01 来源:建站知识

前言

配置完小站以后嗅到了一丝不对。

咦,我怎么学习记录的东西这么多,这样放一块儿实在不好看也不适合梳理。

在语雀和Vuepress中选择了UI更简洁清爽,同时界面关键内容较为突出的Vuepress。

此文记录了如何创建第二个GithubPages(多个也类似)+Vuepress基础配置学习+绑定二级域名(可以看到这个域名是http://record.giriawsh.com也是我主站域名的二级域名)










在我的blog中点击个人学习系列,即可跳转至用vuepress搭建的学习记录站点。







创建项目

我们只能为每个 GitHub 帐户创建一个用户或组织站点;而项目站点没有限制。

只能拥有一个的,是个人站点,也就是名为 <user>.github.io 的仓库。想要创建更多的GitHub Pages页面,可以通过创建项目站点实现。项目站点的数量没有限制。

详情可见GitHub Pages 站点的类型——官方文档

1. 创建GithubPages

  1. 新建一个仓库,名称随意。
  2. 进入仓库主页,点击右面的Settings,找到GitHub Pages部分,选择一个主题,之后可以再改,不选择的话页面可能会无法加载
  3. 建议勾选 Enforce HTTPS,否则访问时会出现安全警告。
  4. 没有出错的话,一个项目主页就建立完成了,可以通过<username>.github.io/<projectname>访问到了

2. 创建Vuepress项目

参照官方文档

  1. 创建并进入一个新目录
    mkdir vuepress-starter && cd vuepress-starter
  2. 使用你喜欢的包管理器进行初始化(听我的,用yarn,如果你不想出现奇怪的bug的话)
    yarn init # npm init
  3. 将 VuePress 安装为本地依赖
    我们已经不再推荐全局安装 VuePress
    yarn add -D vuepress # npm install -D vuepress
  4. 创建你的第一篇文档
    mkdir docs && echo '# Hello VuePress' > docs/README.md
  5. package.json 中添加一些 scripts
    这一步骤是可选的,但我们推荐你完成它。在下文中,我们会默认这些 scripts 已经被添加。
    {
    "scripts": {
    "docs:dev": "vuepress dev docs",
    "docs:build": "vuepress build docs"
    }
    }
  6. 在本地启动服务器
    yarn docs:dev # npm run docs:dev
    VuePress 会在 http://localhost:8080 启动一个热重载的开发服务器。

Vuepress配置

首页

这块可参考官方文档主题模块。

在/docs文件夹下创建README.md文件,这是我的个人配置(把logo.jpg放在/docs/.vuepress/public 文件夹中):

---home: trueheroImage: /logo.jpgheroText: Giria's learning recordtagline: 个人前端学习记录actionText: 一起梳理 →actionLink: /source/element/sidebar: falsefeatures:- title: 源码学习 details: Element UI + Vue 源码- title: 书籍学习 details: 记录相关书籍的学习路径- title: 前端相关 details: 各代码库的学习,包括不限于NodeJS、NuxtJS、多种视图组件库等footer: MIT Licensed | Copyright © 2020-present Giria---::: tip 更多博客文章可移步[Giria's Blog](https://www.giriawsh.com):::

导航栏

基本配置

修改/docs/config.js文件

module.exports = { themeConfig: { sidebarDepth: 2, // e'b将同时提取markdown中h2 和 h3 标题,显示在侧边栏上。 lastUpdated: 'Last Updated',// 文档更新时间:每个文件git最后提交的时间 searchMaxSuggestions: 10, nav: [ {text: '主页', link: '/'}, { text: '源码学习', items: [ {text: "Element UI", link: '/source/element/'}, {text: "Vue", link: '/source/vue/'} ], }, { text: '书籍学习', items: [ {text: "JavaScript权威指南", link: '/books/theDefinitiveGuideToJavaScript/'} ], }, { text: '前端相关', items: [ {text: "Node.js", link: '/fe/nodejs/'}, {text: "Vue.js", link: '/fe/vuejs/'}, {text: "SVG.js", link: '/fe/svgjs/'}, {text: "Nuxt框架", link: '/fe/nuxtjs/'}, ], }, {text: '博客文章', link: 'https://www.giriawsh.com'},//外链,可进行跳转 ], }}目录组织结构如下:







产生效果如下:







导航栏分组配置

如果想要进行导航栏分组可这样写:

// .vuepress/config.jsmodule.exports = { themeConfig: { nav: [ { text: '前端相关', items: [ { text: "JS库相关", items: [ {text: "Node.js", link: '/fe/nodejs/'}, {text: "Vue.js", link: '/fe/vuejs/'}, {text: "SVG.js", link: '/fe/svgjs/'}, ] }, { text: "框架相关", items: [ {text: "Nuxt框架", link: '/fe/nuxtjs/'}, ] }, ], }, ] }}效果如下:







导航栏LOGO

可以通过 themeConfig.logo 增加导航栏 Logo ,Logo 可以被放置在公共文件目录:

// .vuepress/config.jsmodule.exports = { themeConfig: { logo: '/assets/img/logo.png', }}

侧边栏

侧边栏这里我查了很久,很少有清楚的demo,我这里做个demo记录。

目录结构如下:







在/docs/.vuepress/config.js中进行如下配置:

module.exports = { themeConfig: { sidebarDepth: 2, // e'b将同时提取markdown中h2 和 h3 标题,显示在侧边栏上。 lastUpdated: 'Last Updated',// 文档更新时间:每个文件git最后提交的时间 sidebar: { '/source/element/': [ { title: 'Element源码分析', collapsable: false, children: [ '/source/element/1', '/source/element/2',]//这里的顺序决定了在侧边栏中从上到下显示的顺序 } ], '/source/vue/': [ { title: 'Vue源码分析', collapsable: false, children: [] } ], '/books/theDefinitiveGuideToJavaScript/': [ { title: 'JavaScript权威指南', collapsable: false, children: [ '/books/theDefinitiveGuideToJavaScript/1', '/books/theDefinitiveGuideToJavaScript/2', '/books/theDefinitiveGuideToJavaScript/3', '/books/theDefinitiveGuideToJavaScript/4', '/books/theDefinitiveGuideToJavaScript/5', ], } ], '/fe/nodejs/': [ { title: 'NodeJS初学', collapsable: false, children: [ '/fe/nodejs/start/1', '/fe/nodejs/start/2', '/fe/nodejs/start/3', '/fe/nodejs/start/4', ] }, { title: 'NodeJS深入学习', collapsable: false, children: [ '/fe/nodejs/second/test' ] } ], '/fe/svgjs/': [ { title: 'SVG学习记录', collapsable: false, children: [ '/fe/svgjs/1', '/fe/svgjs/2', '/fe/svgjs/3', ] }, ] } },};如果想要达到如下多个分组的效果,可查看上面代码中的'/fe/nodejs/'部分,进行多个对象的配置。(上面代码为了直观省略了文件名)







踩坑

  1. 记得给每个新创建的文件夹下增加一个README.md随便写点啥,不然有一定概率会跳转到404
  2. 文件名譬如1.md在路径中可以省略.md(.html也是可以的)

网页LOGO

将logo文件放置到/docs/.vuepress/public文件夹下,然后在config.js文件中增加:

module.exports = { // 注入到当前页面的 HTML <head> 中的标签 head: [ ['link', {rel: 'icon', href: '/pencil.png'}], // 增加一个自定义的 favicon(网页标签的图标) ],}

样式修改

在/docs/.vuepress文件夹中新建styles文件夹,创建palette.styl文件。

$accentColor = #e6be00//默认主题颜色$textColor = red//默认字体颜色$borderColor = #eaecef//默认边框颜色$codeBgColor = #282c34//默认背景颜色示例修改相关样式f12找到需要修改的地方找到对应class类拿过来直接用就行了.sidebar-group.is-sub-group > .sidebar-heading:not(.clickable){ opacity :1}更多可参考:

部署

  1. docs/.vuepress/config.js 中设置正确的 base
    如果你打算发布到 https://<USERNAME>.github.io/,则可以省略这一步,因为 base 默认即是 "/"
    如果你打算发布到 https://<USERNAME>.github.io/<REPO>/(也就是说你的仓库在 https://github.com/<USERNAME>/<REPO>),则将 base 设置为 "/<REPO>/"
    module.exports = {
    title: "Girecord",
    description: 'Giria的学习记录',
    base: '/<REPO>/',//如果要绑定子域名的话这里需要改成/
    }
  2. 在你的项目中,创建一个如下的 deploy.sh 文件(请自行判断去掉高亮行的注释)放置到根目录中:
#!/usr/bin/env sh# 确保脚本抛出遇到的错误set -e​# 生成静态文件npm run docs:build​# 进入生成的文件夹cd docs/.vuepress/dist​# 如果是发布到自定义域名# echo 'www.example.com' > CNAME# 后续这里我们会发布到二级域名,像我的就需要像下面这么写:echo 'record.giriawsh.com' > CNAME​git initgit add -Agit commit -m 'deploy'# 如果发布到 https://<USERNAME>.github.io# git push -f git@github.com:<USERNAME>/<USERNAME>.github.io.git master# 如果发布到 https://<USERNAME>.github.io/<REPO># git push -f git@github.com:<USERNAME>/<REPO>.git master:gh-pagescd -这样我们之后每次修改后只需要点击这个脚本进行运行即可部署。

至此我们已经可以通过访问https://<USERNAME>.github.io/<REPO>访问到部署后的页面了

绑定子域名

我是在Godaddy上购买的网址,来到DNS配置,添加一条CNAME记录

如果是参照了我之前的配置方案,这里不用写成http://record.giriawsh.com,因为它会自己映射添加,写二级子域名名称record即可

参考网站

如何拥有多个GitHub Pages

vuepress 使用与主题自定义样式修改

配置GithubPage二级域名

关键词:配置

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭