无需花钱购买域名服务器!使用 VuePress + Github 30分钟搭建属于自己的博客网站(保姆级教程)

前言

GitHub Pages 提供免费全球加速的服务器资源,VuePress 将 Markdown 变成艺术品级的网页,仅需 30 分钟,你便可以像提交代码一样发布文章,过程完全免费。

博客搭建好的效果如下:honorsong.github.io/example-blo... GitHub 官网 VuePress 官方文档

一、本地搭建

准备工具 :电脑上需要提前装好 Node.js


第一步:新建一个文件夹

bash 复制代码
# 打开电脑的「终端」
# 输入命令:
mkdir vuepress-starter && cd vuepress-starter

翻译:创建一个叫 vuepress-starter 的文件夹,并进入它


第二步:初始化项目

bash 复制代码
# 输入命令:
yarn init   # 或者用 npm init

操作提示:直接按回车键确认所有选项


第三步:安装 VuePress

bash 复制代码
# 输入命令:
yarn add -D vuepress   # 或者用 npm install -D vuepress

翻译:把 VuePress 这个建站工具安装到你的文件夹里


第四步:创建文档

bash 复制代码
# 输入命令:
mkdir docs && echo '# Hello VuePress' > docs/README.md

*翻译:在文件夹里新建一个 docs 子文件夹,并创建主页文件 README.md *


第五步:修改配置文件

打开 package.json 文件,在 scripts 里添加:

json 复制代码
{
  "scripts": {
    "docs:dev": "vuepress dev docs",    // 启动开发模式
    "docs:build": "vuepress build docs" // 生成最终网站
  }
}

第六步:启动网站

bash 复制代码
# 输入命令:
yarn docs:dev   # 或者用 npm run docs:dev

效果:浏览器会自动打开 http://localhost:8080,你会看到一个写着 "Hello VuePress" 的网站!


🔥 实时更新

现在你可以:

  1. 用 IDE 或记事本打开 docs/README.md
  2. # Hello VuePress 改成 # 我的第一个网站
  3. 保存文件 → 网站会自动刷新!

跟着做下来,你的第一个文档网站就煮好啦! 🎉

二、基础配置

docs 文件夹里新建 .vuepress 文件夹并添加 config.js ,所有 VuePress 相关的文件都会被放在这里。

此时你的项目结构可能是这样:

bash 复制代码
.
├─ docs
│  ├─ README.md
│  └─ .vuepress
│     └─ config.js
└─ package.json

config.js 里写:

javascript 复制代码
module.exports = {
  title: 'VuePress 文档',
  description: 'VuePress + Github 30分钟搭建属于自己的博客网站'
}

👉 效果:搜索引擎更容易找到你的网站(SEO)


三、添加导航菜单

修改 config.js 如下:

javascript 复制代码
module.exports = {
    title: 'VuePress 文档',
    description: 'VuePress + Github 30分钟搭建属于自己的博客网站',
    themeConfig: {
        nav: [
            {text: '首页', link: '/'},
            {
                text: 'CodeFish的博客',
                items: [
                    {text: 'GitHub', link: 'https://github.sheincorp.cn/'},
                    {text: 'CSDN', link: 'https://blog.csdn.net/weixin_41105242'},
                    {text: '掘金', link: 'https://juejin.cn/'}
                ]
            }
        ]
    }
}

👉 效果:网站右上角出现导航菜单


四、添加侧边栏

docs 文件夹里新建 blog 文件夹并添加一些 .md 文档,添加后的目录如下:

lua 复制代码
.
├─ docs
│  ├─ README.md
│  └─ .vuepress
│     └─ config.js
|  └─ blog
|  	  └─ FirstMenu.md
|  	  └─ SecondMenu.md
|  	  └─ ThirdMenu.md
└─ package.json

修改 config.js 如下:

javascript 复制代码
module.exports = {
    title: 'VuePress 文档',
    description: 'VuePress + Github 30分钟搭建属于自己的博客网站',
    themeConfig: {
        nav: [...],
        sidebar: [
            {
                title: '首页',
                path: '/'
            },
            {
                title: "菜单一",
                path: '/blog/FirstMenu',
                collapsable: false, // 不折叠
                children: [
                    { title: "菜单二", path: "/blog/SecondMenu" },
                    { title: "菜单三", path: "/blog/ThirdMenu" }
                ],
            }
        ]
    }
}

👉 效果:左侧出现清晰的菜单目录


五、部署到 Github Pages

我们的博客就算是正式做好了,接下来我们部署到免费的 Github Pages 上。

首先在 Github 上新建一个仓库,这里我取的仓库名为 example-blog

下一步,我们需要在 config.js 对应添加一个 base 路径配置:

javascript 复制代码
module.exports = {
  	// 路径名为 "/<REPO>/"
    base: '/example-blog/',
  	//...
}

最终的 config.js 文件内容为:

javascript 复制代码
module.exports = {
    title: 'VuePress 文档',
    description: 'VuePress + Github 30分钟搭建属于自己的博客网站',
    base: '/example-blog/',
    themeConfig: {
        nav: [
            {text: '首页', link: '/'},
            {
                text: '我的博客',
                items: [
                    {text: 'GitHub', link: 'https://github.sheincorp.cn/'},
                    {text: 'CSDN', link: 'https://blog.csdn.net/weixin_41105242'},
                    {text: '掘金', link: 'https://juejin.cn/'}
                ]
            }
        ],
        sidebar: [
            {
                title: '首页',
                path: '/'
            },
            {
                title: "菜单一",
                path: '/blog/FirstMenu',
                collapsable: false, // 不折叠
                children: [
                    { title: "菜单二", path: "/blog/SecondMenu" },
                    { title: "菜单三", path: "/blog/ThirdMenu" }
                ],
            }
        ]
    }
}

然后我们在项目 vuepress-starter 目录下建立一个脚本文件 deploy.sh

注意修改一下对应的用户名和仓库名:

bash 复制代码
#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
yarn run docs:build

# 进入生成的文件夹
cd docs/.vuepress/dist

git init
git add -A
git commit -m 'deploy'
git branch -M main
git push -f [email protected]:HonorSong/example-blog.git main:pages

cd -

然后命令行切换到 vuepress-starter 目录下,执行:

bash 复制代码
# 输入命令:
sh deploy.sh

项目就会开始构建,然后提交到远程仓库,注意这里提交到了 pages 分支,我们查看下对应仓库分支的代码:

我们可以在仓库的 Settings -> Pages 中看到最后的地址:

像我最后生成的地址就是 honorsong.github.io/example-blo...

至此,我们完成了 VuePress 和 Github Pages 的部署。

此后每一次文章内容的更新,配置的更新,仅需要重新执行 sh deploy.sh 命令重新部署,即可对线上页面进行更新。

相关推荐
AlexJee11 分钟前
el-scrollbar搭配el-backtop滚动到最顶/最底 & el-scrollbar在focus时出现黑框的解决办法
vue.js
柚子a14 分钟前
element-plus el-upload 因默认自动上传导致的一系列问题
vue.js·element
csdn_HPL2 小时前
SpringBoot + Vue 实现云端图片上传与回显(基于OSS等云存储)
vue.js·spring boot·后端
苹果酱05673 小时前
Vue3 源码解析(六):响应式原理与 reactive
java·vue.js·spring boot·mysql·课程设计
樊小肆3 小时前
Vue3 在线 PDF 编辑 1.0 批注回显与文字批注优化
前端·vue.js
许妹l4 小时前
我理解的 v-if 指令的转换过程
vue.js
许妹l4 小时前
我理解的 v-for 指令的转换过程
vue.js
wangyongquan4 小时前
vue组件通信【父子,子父,vuex】
前端·vue.js
许妹l4 小时前
我理解的 v-model 指令的转换过程
vue.js