vuepress+gitee免费搭建个人在线博客(无保留版)

文章目录

  • 最终效果,一睹为快!
  • 一、工具选型
  • 二、什么是VuePress
  • 三、准备工作
    • 3.1 node 安装
    • 3.2 Git安装
    • 3.3 Gitee账号注册
  • 四、搭建步骤
    • 4.1 初始化VuePress
    • 4.2 安装VuePress
    • 4.3 初始化目录
    • 4.4 编写文章
  • 五、部署到Gitee
    • 5.1 创建仓库
    • 5.2 个人空间地址设置
    • 4.3 推送本地博客项目到Gitee仓库
    • 5.4 部署
  • 六、进阶
    • 6.1 优化项目目录结构
    • 6.2 配置文件
  • 七、终极之路
    • 7.1 最终效果,一睹为快
    • 7.2 快速搭建
    • 7.3 解决build失败
    • 7.4 解决上传本地代码到Gitee仓库后,没有“dist”目录
    • 7.5 解决GiteePage部署失败问题
    • 7.6 解决部署完成后,浏览器访问页面异常问题
  • 八、问题记录
  • 九、git 常见错误

最终效果,一睹为快!

在这里插入图片描述
在这里插入图片描述

一、工具选型

vuepress+gitee

二、什么是VuePress

Vuepress是官方出品的一款极简静态网站生成器,它的初衷就是为了用于方便快速的撰写文档。

它主要包含了以下几个特点:

  • 非常简洁
  • 良好的SEO
  • 加载性能很高
  • 可自定义主题
  • 可以在markdown中写vue组件

官网地址:https://vuepress.vuejs.org/zh/

三、准备工作

环境搭建:

  • 电脑安装了git
  • 电脑具有Node环境
  • VScode编辑器(可选)
  • gitee账号

3.1 node 安装

Node官网地址:https://nodejs.cn/download/
选择自己电脑合适的版本安装即可,安装过程一直下一步。
比如Windows 64的电脑:
在这里插入图片描述

3.2 Git安装

Git官网地址:https://git-scm.com/
选择自己电脑合适的版本安装即可,安装过程一直下一步。
在这里插入图片描述

3.3 Gitee账号注册

Gitee官网地址:https://gitee.com/
我们会将博客网站部署到Gitee上面。
在这里插入图片描述

四、搭建步骤

4.1 初始化VuePress

电脑任意位置,创建空文件夹,用于存放我们的博客系统,你可以起任意名称。例如“blog”。
在这里插入图片描述

4.2 安装VuePress

  1. 在“blog”文件夹内,大概Git命令行,点击“git bash”。
    在这里插入图片描述
  2. 检查“node”是否安装成功,执行如下命令:
node -v

在这里插入图片描述

  1. 执行npm 初始化命令。
npm init -y

在这里插入图片描述
该命令执行完毕,在“blog”文件夹内,会生成一个“package.json”文件。

  1. 安装VuePress,执行安装命令。
npm install -D vuepress

由于网络可能安装会比较慢,耐心等待即可,失败的话重新多安装几次,出现下面的界面则代表安装成功。
在这里插入图片描述
当前目录如下图:
在这里插入图片描述

4.3 初始化目录

  1. 在“blog”目录下,新建“docs目录”,在“docs目录”下新建“README.md”文件,作为我们的博客首页。

在这里插入图片描述

  1. 然后修改README.md内容。
---
home: true
heroText: 一个分享互联网知识干货的老师傅
tagline: 抖音:划水老师傅
actionText: 查看知识 →
actionLink: /查看知识/查看知识
features:
- title: Gitee技术知识details: 所有知识,纯手工码字......
- title: 不建议报培训机构details: 因为2023年还在搞机构的,都是在割韭菜。
- title: 不建议入行details: 也许上一秒花费n个w学完,下一秒就失业了,再下一秒,你就又要转行了。
footer: 哪怕没钱赚 | 说些大实话 | 多点粉丝也是好的。
---
  1. 修改package.json文件,该文件用于项目的打包和运行,代码修改如下(新手第一次修改前,建议备份一份):
{"name": "moyu178666","version": "1.0.0","description": "","main": "index.js","scripts": {"docs:dev": "vuepress dev docs","docs:build": "vuepress build docs"},"keywords": [],"author": "","license": "ISC","devDependencies": {"vuepress": "^1.9.9"}
}
  1. 执行命令,将博客运行起来看看效果,执行命令:
npm run docs:dev

在这里插入图片描述
访问 http://localhost:8080/
页面效果:
在这里插入图片描述

该步骤执行失败的一些方案解决:
1. Error: error:0308010C:digital envelope routines::unsupported
解决:
卸载当前版本,下载安装低于17的node。下载地址:https://nodejs.org/dist/v16.19.0/

4.4 编写文章

页面上有一个按钮“查看知识”,此时点击该按钮,跳转的页面是“404”,因为我们还没有创建跳转页面。

打开“README.md”文件,“actionLink”,这个表示我们点击首页“查看知识”的按钮所要跳转的页面。

在“docs”目录下,新建“查看知识”文件夹,然后创建“查看知识.md”文件,然后随便写一些内容。
在这里插入图片描述
再次执行:npm run docs:dev之后,刷新浏览器,点击首页“查看知识 →”,页面跳转如下:
在这里插入图片描述

页面未跳转问题:
检查下README.md 中“actionLink: /查看知识/查看知识”,和你的文件目录路径是否一致。

五、部署到Gitee

我们本地将博客调试好后,就可以进行部署,让所有人都可以正常访问。

(目前博客实现为Demo版,之后我们进行导航栏等细节美化以及目录结构优化)

5.1 创建仓库

Gitee上,我们需要新建一个仓库,用于存放我们的博客系统。
在这里插入图片描述

需要注意:

  • 仓库名称建议与个人空间地址(下图)保持一致,这样我们的博客地址显示会比较友好。以[空间地址.http://gitee.io]的形式访问。
  • 仓库属性“公共”。(私有不能开启GiteePage服务)

5.2 个人空间地址设置

在这里插入图片描述

4.3 推送本地博客项目到Gitee仓库

  1. 进入blog目录,打开打开gitbash命令行工具,打包博客,执行命令:
   npm run docs:build

在这里插入图片描述

  1. 参考gitee仓库给我们的步骤操作,将代码推送到仓库。

    博客目录,打开Git bash依次执行下列命令。

    git init
    git add .
    git commit -m "Init"
    git remote add origin https://gitee.com/xxxxxxx/myblog-demo.git 
    git push -u origin "master"
    

执行玩上面的命令后,我们的代码就推到了仓库中去。
在这里插入图片描述

5.4 部署

在仓库页面点击服务菜单,选择gitpage选项:
在这里插入图片描述

选择部署分支和部署目录,然后点击启动:

  • 部署分支,不用改,默认master

  • 部署目录,选择docs/.vuepress/dist文件夹,刚刚我们执行打包命令生成的。

  • 建议勾选“强制使用HTTPS”。
    在这里插入图片描述

  • 点击“启动”,启动后,访问该连接。(老师傅已经关闭了自己的链接,所以已失效)

在这里插入图片描述
在这里插入图片描述

后续本地修改代码记得执行下面的命令,进入对应工作目录即可

npm run build
git add .
git commit -m "修改"
git push

六、进阶

6.1 优化项目目录结构

VuePress 遵循 “约定优于配置” 的原则,推荐的目录结构如下:

.
├── docs
│   ├── .vuepress (可选的)
│   │   ├── components (可选的)
│   │   ├── theme (可选的)
│   │   │   └── Layout.vue
│   │   ├── public (可选的)
│   │   ├── styles (可选的)
│   │   │   ├── index.styl
│   │   │   └── palette.styl
│   │   ├── templates (可选的, 谨慎配置)
│   │   │   ├── dev.html
│   │   │   └── ssr.html
│   │   ├── config.js (可选的)
│   │   └── enhanceApp.js (可选的)
│   │ 
│   ├── README.md
│   ├── guide
│   │   └── README.md
│   └── config.md
│ 
└── package.json
  • docs/.vuepress: 用于存放全局的配置、组件、静态资源等。
  • docs/.vuepress/components: 该目录中的 Vue 组件将会被自动注册为全局组件。
  • docs/.vuepress/theme: 用于存放本地主题。
  • docs/.vuepress/styles: 用于存放样式相关的文件。
  • docs/.vuepress/styles/index.styl: 将会被自动应用的全局样式文件,会生成在最终的 CSS 文件结尾,具有比默认样式更高的优先级。
  • docs/.vuepress/styles/palette.styl: 用于重写默认颜色常量,或者设置新的 stylus 颜色常量。
  • docs/.vuepress/public: 静态资源目录。
  • docs/.vuepress/templates: 存储 HTML 模板文件。
  • docs/.vuepress/templates/dev.html: 用于开发环境的 HTML 模板文件。
  • docs/.vuepress/templates/ssr.html: 构建时基于 Vue SSR 的 HTML 模板文件。
  • docs/.vuepress/config.js: 配置文件的入口文件,也可以是 YMLtoml
  • docs/.vuepress/enhanceApp.js: 客户端应用的增强。
当你想要去自定义 templates/ssr.html 或 templates/dev.html 时,最好基于 默认的模板文件 (opens new window)来修改,否则可能会导致构建出错。

对于上述的目录结构,默认页面路由地址如下:

文件的相对路径页面路由地址
/README.md/
/guide/README.md/guide/
/config.md/config.html

所以,看完目录结构后,我们可以着手去做一个多页面的静态博客网站了。

6.2 配置文件

  1. 创建config.js配置文件:docs.vuepress\config.js
  2. 修改配置内容,比如我们这一次想修改页签名称和加上一个title。
  3. 本地执行 npm run dev (给小白解释下,此处我从doc:dev 变成了dev,是因为我修改了"package.json",后面不在赘述。)
  "scripts": {"dev": "vuepress dev docs","build": "vuepress build docs"},
module.exports = {title: '划水老师傅的博客',description: '一起摸鱼吧!'}

在这里插入图片描述

七、终极之路

7.1 最终效果,一睹为快

利用官方做好的模板“VuePress Theme Hope”,我们可以不需要动手写很多配置以及动脑子,就可以生成特别好看的“文档网站”或者“个人博客”。

官网地址:https://theme-hope.vuejs.press/zh/

文档类型网站示例:
在这里插入图片描述

博客类型网站示例:
在这里插入图片描述

7.2 快速搭建

建立在已经熟悉之前的基本使用前提下,我们不再赘述重复内容,直接进入正题。

  1. 首先,我建议你安装“pnpm”。
安装命令:npm install -g pnpm
  1. 进入任意目录,执行命令如下,表示在该目录下,生成”moyu178666“的项目,当然你也可以是“blog”或者“docs”:
pnpm create vuepress-theme-hope moyu178666
  1. 根据提示,选择对应选项即可,最后一步注意,选择你需要创建的类型“blog”或者“docs”。
    在这里插入图片描述

  2. 大功告成。

在这里插入图片描述

7.3 解决build失败

忘了截失败图…重新创建了项目,顺手将之前的“MyGitee”,改成了“my_gitee”。
在这里插入图片描述

使用package.json 更新包,就可以解决build失败问题,另外你可以用提供的其他命令进行我们之前提到的“run”等操作。
在这里插入图片描述

7.4 解决上传本地代码到Gitee仓库后,没有“dist”目录

需要删除标记的代码”src/.vuepress/dist/“。

在这里插入图片描述

7.5 解决GiteePage部署失败问题

在这里插入图片描述

部署目录未设置正确,比如如图,我的设置就是一次错误的尝试。正确的应该是“moyu178666/src/.vuepress/dist”。

7.6 解决部署完成后,浏览器访问页面异常问题

如果你是按照我的步骤,从第一步到现在,不会产生这个问题。

如果产生这个问题,你需要修改“src\.vuepress\config.ts”文件。

产生这个问题的原因是,你多创建了一个目录,比如“blog\src\.vuepress\”,导致路径错误,需要修改为:

base: "/src/",

在这里插入图片描述

八、问题记录

利用vuepress-theme-hope生成的项目。

config.js 修改 base: “/src/”,

Gitee马云的路径得设置。

打包失败时,利用package.json文件调试模式,更新安装包。

九、git 常见错误

error: failed to push some refs to ‘https://gitee.com/xxxxx/xxxxx.git’

产生该问题的原因:可能是因为在手动修改了远程仓库中的文件,导致一些文件在本地仓库和远程仓库上不一致,故而引发该错误。

解决方法:使用命令 git pull --rebase origin master 将远程仓库同步到本地,然后再重新add、commit、push就行了。当然引发这种错误的原因可能不是这个,但大家可以尝试一下。我就是通过该方法解决此错误的。

建议: 不要在远程仓库手动修改文件,应该要在本地仓库中进行修改,然后提交到远程仓库,从而保证本地仓库和远程仓库的一致性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89948.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.vue3脚手架在vscode下面建立

一、下载安装node.js Node.js (nodejs.org) 二、安装vue3脚手架 #添加项目脚手架 npm install -g vue/cli 三、建立项目 #项目建立 vue create {appname} 测试项目安装成功:运行npm run serve命令 npm run serve 证明脚手架、项目环境已配置好 四、添加配件&#x…

高光时刻丨极智嘉斩获2023中国物流与采购联合会科学技术一等奖

不久前,中国物流与采购联合会宣布了2022年度科学技术奖获奖名单,其中包括了一项令人瞩目的成就。这项成就源自于极智嘉与国药物流、南京医药、九州通医药以及多所高校的合作,他们共同努力,成功研究并应用了一项关键技术&#xff0…

26531-2011 地理标志产品 永春老醋

声明 本文是学习GB-T 26531-2011 地理标志产品 永春老醋. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了永春老醋地理标志产品的术语和定义、保护范围、产品分级、要求、试验方法、检验规 则和标签、标志、包装、运输、贮存的要…

【3】贪心算法-最优装载问题-加勒比海盗

算法背景 在北美洲东南部,有一片神秘的海域,那里碧海蓝天、阳光 明媚,这正是传说中海盗最活跃的加勒比海(Caribbean Sea)。 有一天,海盗们截获了一艘装满各种各样古董的货船,每一 件古董都价值连…

【数据仓库设计基础(二)】维度数据模型

文章目录 一. 概述二. 维度数据模型建模过程三. 维度规范化四. 维度数据模型的特点五. 维度数据模型1. 星型模式1.1.事实表1.2.维度表1.3.优点1.4.缺点1.5.示例 2. 雪花模式2.1.数据规范化与存储2.2&#x…

无人车开源软件架构

参考视频:Apollo自动驾驶入门课程 开源软件架构 开放式软件层分为三个子层:实时操作系统、运行时框架和应用程序模块层 实时操作系统(RTOS) 可确保在给定时间内完成特定任务,“实时”是指无人车的操作系统能够及时进…

Serlet API详解

目录 一、HttpServlet 1.1 处理doGet请求 1.2 处理doPost请求 二、HttpServletRequest 2.1 核心方法 三、HttpServletRespons 3.1 核心方法 一、HttpServlet 在编写Servlet代码的时候,首先第一步要做的就是继承HttpServlet类,并重写其中的某些方法 核心…

数字散斑干涉测量仿真研究

一、引言 数字散斑干涉技术(digital speckle pattern interferometry,DSPI)是一种测量物体表面微小变形的测量技术,在生物医学检测、缺陷无损检测、精密制造、材料与结构力学参数评估等领域起着日益重要的作用,具有实时性、高精度、非接触、…

Python入门自学进阶-Web框架——42、Web框架了解-bottle、flask

WEB框架的三大组件:路由系统、控制器(含模板渲染)、数据库操作 微型框架:依赖第三方写的socket,WSGI, 本身功能少 安装: pip install bottle pip install flask 安装flask,同时安…

多线程的学习中篇下

volatile 关键字 volatile 能保证内存可见性 volatile 修饰的变量, 能够保证 “内存可见性” 示例代码: 运行结果: 当输入1(1是非O)的时候,但是t1这个线程并沿有结束循环, 同时可以看到,t2这个线程已经执行完了,而t1线程还在继续循环. 这个情况,就叫做内存可见性问题 ~~ 这…

Java8实战-总结37

Java8实战-总结37 默认方法不断演进的 API初始版本的 API第二版 API 默认方法 传统上,Java程序的接口是将相关方法按照约定组合到一起的方式。实现接口的类必须为接口中定义的每个方法提供一个实现,或者从父类中继承它的实现。但是,一旦类库…

Qt扩展-KDDockWidgets 的使用

KDDockWidgets 的使用 一、概述二、原理说明三、代码实例1. 项目简述2. 布局源码 一、概述 KDDockWidgets 的使用相对比较简单,建议直接参考 其提供的例子。 二、原理说明 在这种多窗口布局显示的使用最常用的就是这两个类, 也就是 MainWindow 和 Doc…

MySQL 开启配置binlog以及通过binlog恢复数据

目录 一、binlog日志基本概念二、开启binlog日志记录2.1、查看binlog日志记录启用状态2.2、开启配置binlog日志 三、制作测试数据(可以先不执行,这里是为后续数据恢复做准备,先看数据恢复流程)四、使用binlog日志恢复数据4.1、前置…

中秋特辑——3D动态礼盒贺卡(可监听鼠标移动)

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

ROS的通信机制

ROS是一个分布式框架,为用户提供多节点(进程)之间的通信服务,所有软件功能和工 具都建立在这种分布式通信机制上,所以ROS的通信机制是最底层也是最核心的技术。在大多数应用场景下,尽管我们不需要关注底层通…

7.网络原理之TCP_IP(下)

文章目录 4.传输层重点协议4.1TCP协议4.1.1TCP协议段格式4.1.2TCP原理4.1.2.1确认应答机制 ACK(安全机制)4.1.2.2超时重传机制(安全机制)4.1.2.3连接管理机制(安全机制)4.1.2.4滑动窗口(效率机制…

软件测试面试经验分享,真实面试题

前言 本人普通本科计算机专业,做测试也有3年的时间了,讲下我的经历,我刚毕业就进了一个小自研薪资还不错,有10.5k(个人觉得我很优秀),在里面呆了两年,积累了一些的经验和技能&#…

Flink Batch SQL Improvements on Lakehouse

本文整理自阿里云研发工程师刘大龙(风离),在 Streaming Lakehouse Meetup 的分享。内容主要分为三个部分: Flink Batch on Paimon 挑战Flink Batch 核心优化后续规划 点击查看原文视频 & 演讲PPT 一、Flink Batch on Paimon 挑…

启动 React APP 后经历了哪些过程

本文作者为 360 奇舞团前端开发工程师 前言 本文中使用的React版本为18,在摘取代码的过程中删减了部分代码,具体以源代码为准。 在React 18里,通过ReactDOM.createRoot创建根节点。并且通过调用原型链上的render来渲染。 本文主要是从以下两个…

Spring实现简单的Bean容器

1.BeanDefinition,用于定义 Bean 实例化信息,现在的实现是以一个 Object 存放对象 public class BeanDefinition {/*** bean对象*/private Object bean;/*** 存放 (定义)Bean 对象*/public BeanDefinition(Object bean) {this.bea…