操作手册之建立博客

本人很懒,不多介绍

1.git 代理

第一步首先处理好 git 网络问题。

代理配置

1. 对 http 和 https 代理:

1
2
3
4
5
6
7
8
9
10
11
# http and https
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890

# socks5
git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890

# unset
git config --global --unset http.proxy
git config --global --unset https.proxy

2. 对 ssh 代理:

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo apt install connect-proxy
# (or) https://github.com/larryhou/connect-proxy
vim ~/.ssh/config

# socks5
Host github.com
User git
ProxyCommand connect -S 127.0.0.1:7890 %h %p

# http || https
Host github.com
User git
ProxyCommand connect -H 127.0.0.1:7890 %h %p

3. 打开 Git 的配置文件 ~/.gitconfig,在文件末尾添加以下内容:

1
2
3
4
[http]
proxy = http:// 代理地址: 端口号
[https]
proxy = https:// 代理地址: 端口号

如果你的代理需要账号密码验证,可以使用以下内容:

1
2
3
4
[http]
proxy = http:// 用户名: 密码 @代理地址: 端口号
[https]
proxy = https:// 用户名: 密码 @代理地址: 端口号
1
2
3
4
[https]
proxy = http://127.0.0.1:7890
[http]
proxy = http://127.0.0.1:7890

参考:Git 配置代理和取消的两种方法 - 掘金 (juejin.cn)

git clone 链接(免密登录 git push 无需密码)

git 可以使用四种主要的协议来传输资料: 本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 git 协议。其中,本地协议由于目前大都是进行远程开发和共享代码所以一般不常用,而 git 协议由于缺乏授权机制且较难架设所以也不常用。

最常用的便是 SSH 和 HTTP(S)协议。git 关联远程仓库可以使用 http 协议或者 ssh 协议。

ssh:

  • 一般使用 22 端口;
  • 通过先在本地生成 SSH 密钥对再把公钥上传到服务器;
  • 速度相较慢点

https:

  • 一般使用 443 端口;
  • 通过用户名 / 密码授权,可用性比较高;
  • 速度相较快点

一般企业防火墙会打开 80 和 443 这两个 http/https 协议的端口,因此在架设了企业防火墙的时候使用 http 就可以很好的绕开安全限制使用 git 了,很方便;而对于 ssh 来说,企业防火墙很可能没打开 22 端口。

【使用区别】

clone 项目:

  ** 使用 ssh 方式时,需要配置 ssh key,即要将生成的 SSH 密钥对的公钥上传至服务器;
**

  使用 http 方式时,没有要求,可以直接克隆下来。

push 项目:

  使用 ssh 方式时,不需要验证用户名和密码,*** 之前配置过 ssh key,(如果你没设置密码)*** 直接 push 即可;

  使用 http 方式时,需要验证用户名和密码。

总结:

HTTPS 利于匿名访问,适合开源项目,可以方便被别人克隆和读取(但没有 push 权限);

SSH 不利于匿名访问,比较适合内部项目,只要配置了 SSH 公钥极可自由实现 clone 和 push 操作。

1.【github 上切换 SSH/HTTP 方式】

image-20231211222839311

2.【如何生成 SSH 密钥以及上传】

image-20231211222811442 image-20231211222925339-17023049665181

image-20231211222941917

1
2
3
4
5
git config --global user.name 'yourname' 
git config --global user.email 'youremail'

// 如果之前已经设置了 那就不要加后面的 yourname/youremail 直接获取即可
输入指令:ssh-keygen -t rsa -C “youremail”;

检验配置成功:

1
ssh -T git@github.com

image-20231212211408011

注意:

按回车即表示默认这个文件路径名,接着又会提示你输入两次密码(该密码是你 push 文件的时候要输入的密码,而不是 github 管理者的密码),当然,你也可以不输入密码,直接按回车。那么 push 的时候就不需要输入密码,直接提交到 github 上了。

3.【http 如何保存凭证信息】

image-20231211223158533

参考:【git】git 中使用 https 和 ssh 协议的区别以及它们的用法 - WANNANANANA - 博客园 (cnblogs.com)

2.git 操作

常用操作:

1
2
3
4
5
6
7
8
9
10
git pull name branch
git add .
git commit -m "message"
git push name branch

git remote add name url(github repositories)
git remote remove name
git remote -v

git status

初始化 git 仓库(标准化流程):

1
2
3
4
5
6
7
echo "# realVG" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:AngelYang23/realVG.git
git push -u origin main
1
2
3
git remote add origin git@github.com:AngelYang23/realVG.git
git branch -M main
git push -u origin main

Git commit 规范:

1
<type>(<scope>): <subject>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
type(必须)

用于说明 git commit 的类别,只允许使用下面的标识。

feat:新功能(feature)。

fix/to:修复 bug,可以是 QA 发现的 BUG,也可以是研发自己发现的 BUG。

fix:产生 diff 并自动修复此问题。适合于一次提交直接修复问题
to:只产生 diff 不自动修复此问题。适合于多次提交。最终修复问题提交时使用 fix
docs:文档(documentation)。

style:格式(不影响代码运行的变动)。

refactor:重构(即不是新增功能,也不是修改 bug 的代码变动)。

perf:优化相关,比如提升性能、体验。

test:增加测试。

chore:构建过程或辅助工具的变动。

revert:回滚到上一个版本。

merge:代码合并。

sync:同步主线或分支的 Bug。

scope(可选)

scope 用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。

例如在 Angular,可以是 location,browser,compile,compile,rootScope, ngHref,ngClick,ngView 等。如果你的修改影响了不止一个 scope,你可以使用 * 代替。

subject(必须)

subject 是 commit 目的的简短描述,不超过 50 个字符。

建议使用中文(感觉中国人用中文描述问题能更清楚一些)。

结尾不加句号或其他标点符号。
根据以上规范 git commit message 将是如下的格式:
fix(DAO): 用户查询缺少 username 属性
feat(Controller): 用户查询接口开发

https://zhuanlan.zhihu.com/p/182553920

3.markdown 图片上传

typora 与picgo 下载与安装(想办法)

PicGo

github 操作:

1)github 创建新仓库作为图床

1、如果没有 GitHub 的账号的话可以申请注册一个

2、登陆以后,点击右上角的 + 号,然后点击 new repository 新建仓库(这个仓库作为你的图床)

3、新建仓库时,仓库名必填(仓库名尽量不要有空格),私有性选择公开,然后点击 create repository

2)新建 token 令牌 作为 picgo 的配置输入

1、点击右上角头像列表中 Setting 选项

2、进入后点击最后一项: Developer setting

3、进入后点击右边的最后一项,并且创建一个新的 token

4、在 Note 填写你的 token 的名字,将 repo 打上勾就行,其余的不用管,然后直接点击 绿色图标 Generate token。

5、完成后,一定要保存此 token,因为只出现一次,一定要保存!!!!

img

img

image-20231212213233077

img

PicGo 操作:

1、下载完成后打开 PicGo

2、首次使用时进入 PicGo,点击设置 Server,将监听窗口设为:36677。可保持默认。

3、点击左边图床设置进入 GitHub 图床。

4、设定仓库名,填写格式:你的 GitHub 名 / 新建的仓库名

5、设定分支名,填写自己想要填写的分支,也可以填写默认的 main

6、设定 Token,填写刚刚保存的 token 令牌。

7、指定存储路径,默认为 img/,这个路径是你 GitHub 的新建仓库中某一个文件夹的路径

8、自定义域名:这里使用 https://raw.githubusercontent.com/ 你的 GitHub 名 / 仓库名 /master,这里的 master 是你的仓库下的一个分支

9、最后点击确定和设为默认图床。

设置时间戳命名图片

设置日志文件日志记录等级 全部 -all

image-20231212213748535

image-20231212213834808 image-20231212213942607

Typora 操作:

1、设置完 PicGo 之后,打开 Typora,找到文件中的 偏好设置。

2、插入图片第一项选择上传图片。

3、点击 图像 ,前三项 以及 最后一项 打钩。

4、将 上传服务改为 PicGo(app)。

5、PicGo 路径改为你的本地 PicGo 安装目录中的 PicGo.exe 文件

6、最后点击验证图片上传来验证。

7、查看 PicGo 相册 和 GitHub 同步的上传

8、在 Typora 中插入图片时,图片可以通过 PicGo 直接上传到 GitHub 仓库中,以后传输 Typora 文件时便不用再将图片一起打包上传。

9、配置代理

image-20231212214311060

image-20231212234527745

image-20231212234156906

1
"flags": [["proxy-server", "http://127.0.0.1:7890"]]

参考:typora 设置代理 – SXJ 的小站 (shenxiaojian.com)

4.hexo

hexo 安装

安装 hexo 之前,需安装 node.js,git

安装命令:

1
npm install -g hexo-cli --registry=https://registry.npm.taobao.org

检验是否安装成功:

1
2
3
node -v
npm -v
hexo -v

image-20231213102451323

补充(加速)

1.npm 镜像网址:

1
2
3
4
5
6
7
8
npm 官方原始镜像网址是:https://registry.npmjs.org/
淘宝 NPM 镜像:https://registry.npm.taobao.org
阿里云 NPM 镜像:https://npm.aliyun.com
腾讯云 NPM 镜像:https://mirrors.cloud.tencent.com/npm/
华为云 NPM 镜像:https://mirrors.huaweicloud.com/repository/npm/
网易 NPM 镜像:https://mirrors.163.com/npm/
中科院大学开源镜像站:http://mirrors.ustc.edu.cn/
清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/

设置镜像加速:

1
npm config set registry + 对应的镜像网址

查看镜像:

1
npm config get registry

2.npm 安装命令:

1
npm install -g xxx --registry= 镜像网址

3.nrm 是一个 npm 源管理器,允许你快速地在 npm 源间切换。(本人感觉很局限)

1
2
3
4
npm install -g nrm
nrm ls
nrm use taobao/tencent
nrm test

image-20231213110305278

hexo 本地搭建博客

1
2
3
4
5
6
7
8
9
10
# First create
npm install hexo-cli -g(已做)
hexo init blog/hexo
cd blog/hexo
npm install
hexo server
# Existing project open
cd blog/AngelYang23.github.io
npm install
hexo server/hexo s

image-20231213111908094

image-20231213112039870

image-20231213112557520

参考:Hexo

Hexo 搭建与部署指南 - 掘金 (juejin.cn)

2022 Hexo 博客搭建和使用教程(Windows) - 知乎 (zhihu.com)

hexo 样式设计

hexo 项目目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
hexo-install-directory
├── CNAME
├── _config.yml //Hexo 的配置文件,可以配置主题、语言等
├── avatar.jpg
├── db.json
├── debug.log
├── node_modules
├── public // 执行 hexo g 命令后,生成的内容会在这里,包括所有的文章、页面、分类、tag 等.
├── scaffolds // 保存着默认模板,自定义模板就是修改该目录下的文件
│ ├── draft.md // 默认的草稿模板
│ ├── page.md // 默认的页面模板
│ └── post.md // 默认的文章模板
├── source //Hexo 存放编辑页面的地方,可以使用 vim 或其他编辑器编辑这里的内容
│ ├── 404.html // 自定义 404 页面,可以使用腾讯公益 404 页面
│ ├── Staticfile
│ ├── _drafts // 存放所有的草稿文件的目录
│ ├── _posts // 存放所有的文章文件的目录,用的最多,比如执行 hexo n "post_name" 之后,post_name 这篇文章就存放在这个目录下
│ ├── categories
└── themes //Hexo 的所有主题
├── landscape // 原始 hexo 主题
├── next // 这是我目前用的主题

Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量,举例来说:(注意—隐藏)

1
2
3
4
5
6
7
8
9
10
11
12
---
title: 操作手册之建立博客
date: 2023-12-13
categories:
- Study
- blog_create
tags:
- blog
- config
description: 本篇博客记录我从零到一创建博客的所有操作过程:包括 git 相关操作,设置图床,还有 hexo 框架的搭建和使用。
copyright: true
---

注意:hexo 报错 YAMLException: end of the stream or a document separator is expected

可能是空格问题,冒号以后需要加空格

hexo 分类和标签

1.YAML 格式

YAML 中允许表示三种格式,分别是常量值,对象和数组

使用 #作为注释,YAML 中只有行注释。

基本格式要求:
1,YAML 大小写敏感;
2,使用缩进代表层级关系;
3,缩进只能使用空格,不能使用 TAB,不要求空格个数,只需要相同层级左对齐(一般 2 个或 4 个空格)

** 分类(categories)** 具有顺序性和层次性。Hexo 不支持指定多个同级分类。

** 标签(tags)** 没有顺序和层次。

1
2
3
4
5
6
categories:
- Diary
- Life
tags:
- PS3
- Games
1
2
3
4
categories:
- 分类
- 子分类
- 子子分类

2.JSON Front-matter

除了 YAML 外,你也可以使用 JSON 来编写 Front-matter,只要将 --- 代换成 ;;; 即可。

1
2
3
"title": "Hello World",
"date": "2013/7/13 20:46:25"
;;;

文章截断

在需要截断的地方加入:

1
<!-- more -->

Front-matter | Hexo

Hexo 搭建个人博客网站 (qq.com)

image-20231213222240581

image-20231213223022175

常见命令

1
2
3
4
5
hexo new 文章文件名                新建文章
hexo new draft 草稿文件名 新建草稿
hexo new page 导航选项页文件名 新建导航选项页界面
hexo new [layout] <title> 新建新文章或者新的页面
hexo publish 文章文件名 发布草稿

布局(Layout)

Hexo 有三种默认布局:postpagedraft。在创建者三种不同类型的文件时,它们将会被保存到不同的路径;而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

通过修改 _config.ymldefault_layout参数修改。

1
default_layout: post

在博客的 scaffolds 目录下有三个 md 文档。分别为 post.mddraft.mdpage.md

当您新建文章时,Hexo 会根据 scaffold 来建立文件。Hexo 的模板是指在新建的文章文件中默认填充的内容。例如,如果您修改 scaffold/post.md 中的 Front-matter 内容,那么每次新建一篇文章时都会包含这个修改。

hexo最大的优势就是可以结合 GitHub page 来搭建一个免费的个人博客系统,将文章都托管到 GitHub 上,在也不用担心服务器过期的问题了,而且可以自己买一个域名,解析了 GitHub 上就可以直接使域名访问了。很多小伙伴给自己个博客添加了很多其他的功能,但是每次写文章的时候都需要在文章的开头去写一遍,这简直就是重复造轮子。其实,你可以自己在 scaffolds 中去修改属于你自己的模板

配置

在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml。其中,一份位于站点根目录下,主要包含 Hexo 本身的配置;另一份位于主题目录下,这份配置由主题作者提供,主要用于配置主题相关的选项。

为了描述方便,在以下说明中,将前者称为 **站点配置文件 **, 后者称为 ** 主题配置文件**。

Hexo 默认使用的主题是 landscape,对应 ./themes 目录下的 landscape 文件夹。可切换成其他 主题,选好之后,先将对应的主题 clone 到或下载好拷贝到 ./themes 目录下,再启用即可。建议使用 clone ,使用 clone ,假如有一天这个主题更新了,只需要 pull 一下就可以获取到最新样式了。

我用的主题:Icarus

_config.yml

网站

1
2
3
4
5
6
7
title: Yang's log
subtitle: ''
description: 'Welcome to my blog, I'm AngelYang'
keywords: The good old days
author: Yang
language: zh-CN
timezone: ''

文章

超全 Windows10 快捷键大全 - 知乎 (zhihu.com)

VS Code 的常用快捷键 - 知乎 (zhihu.com)

VSCode 快捷键(整理) - 悦光阴 - 博客园 (cnblogs.com)

SSH 三步解决免密登录_免密登录 ssh-CSDN 博客

hexo-theme-icarus | Easy Hexo 👨‍💻

Archives - Lei Mao’s Log Book

https://www.mad-coding.cn/2019/08/02/%E8%87%AA%E5%AE%9A%E4%B9%89hexo%E5%88%9B%E5%BB%BA%E6%96%87%E7%AB%A0%E7%9A%84%E6%A8%A1%E6%9D%BF/#0x02-%E4%BF%AE%E6%94%B9%E6%AD%A5%E9%AA%A4

https://shmilybaozi.github.io/2018/11/05/hexo%E6%96%87%E7%AB%A0%E6%A8%A1%E6%9D%BF%E8%AE%BE%E7%BD%AE/

https://www.cnblogs.com/eryoyo/p/16678333.html

Hexo 主题配置 - Icarus (qq.com)

Hexo 主题配置 - Icarus_hexo icalus-CSDN 博客

https://wyh0517.github.io/2020/06/24/rule/

https://leimao.github.io/faq/

发布于

2023-12-13

更新于

2024-03-07

许可协议