惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
L
LangChain Blog
U
Unit 42
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Martin Fowler
Martin Fowler
T
Tenable Blog
IT之家
IT之家
H
Help Net Security
阮一峰的网络日志
阮一峰的网络日志
Forbes - Security
Forbes - Security
N
Netflix TechBlog - Medium
The Hacker News
The Hacker News
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
美团技术团队
NISL@THU
NISL@THU
T
Threatpost
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
I
InfoQ
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
C
Check Point Blog
V
Vulnerabilities – Threatpost
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Spread Privacy
Spread Privacy
S
Securelist
大猫的无限游戏
大猫的无限游戏
P
Privacy & Cybersecurity Law Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
爱范儿
爱范儿
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
Cisco Talos Blog
Cisco Talos Blog
Engineering at Meta
Engineering at Meta
S
Security Affairs
S
Secure Thoughts
T
Troy Hunt's Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
PCI Perspectives
PCI Perspectives
C
Cisco Blogs
MongoDB | Blog
MongoDB | Blog
Vercel News
Vercel News
月光博客
月光博客
Recorded Future
Recorded Future

晓雨杂记

为 PCL CE 添加 Sentry 集成 【转载】舞萌 DX 报错 8103 / 8106 以及 0949 问题原因分析和解决方案 【转载】舞萌国服 1.53 补丁更新内容速览 站点之间,是生活的片段 EdgeOne 免费版,Yes! 2025 年,把一加 6T 作为主力机是什么体验?(上) 2024 年终总结 国行 iPhone 12 强开 Apple 智能 通过自定义主题重写我的博客 窗边浅谈:形同陌路的“朋友” 没有衡水命,一身衡水病——盲目复制衡水模式的意义何在? 在 Valaxy 中使用 Artalk 作为评论系统 窗边浅谈:序章 【转载】关于 HiPer 的安全性讨论,以及对于近期一些小事的简单介绍 2023 年终回顾 期中前半学期回顾 用起来还不错——国区 Apple Music 浅谈 万物皆可美化之 VSCode 博客二周年——我对博客的想法 我过不去的坎——数学 将 Waline 从 LeanCloud 迁移到 MongoDB Cloud 初入舞萌 DX 记一次重装 Windows 记一次被 DDoS 中考成绩! OMORI 初体验 中考之后 谈人际交往 我的音乐品味 自建 jsDelivr 镜像 渺软公益 CDN 2023 中考宣言 晓雨和林小雨的奇妙日常 为了纯粹的快——来看看我对我的博客做了什么 Valaxy 与 Cloudflare 的邂逅——将 Valaxy 博客部署到 Cloudflare Pages Minecraft 国际版玩家对近期事件的回应 对网易与 Minecraft 国际版的担忧 再见,Notepad++ 你的下一个启动器,何必是启动器 诈尸?—— 第三方网易云音乐客户端 LyricEase Valaxy —— 快到没边的全新静态博客框架 见证历史了——谷歌取消大陆地区翻译服务 在 iOS 桌面查看你的原神账号信息——原神披萨小助手 中秋节快乐!以及一些碎碎念 与朋友联机游玩 Minecraft 优化站点速度之见解 搭建 Hypixel 加速 IP 部署 VuePress v1 文档到 Vercel Hello World! 白嫖党福利——Backblaze B2 免费 10GB 对象存储 打开 Windows 传递优化,利人利己! 优化 Windows Search 搜索,加快搜索速度! 搭建一个属于你自己的 Minecraft 服务器 如何诊断 Minecraft Java 版客户端中的错误 关于我讲了节物理课这件事 我的 Minecraft 服务器 —— CakeMC Cake Launcher 开发日志 神级内存清理软件———Mem Reduct
手把手教你如何搭建属于自己的 Hexo 博客
Big_Cake · 2021-12-05 · via 晓雨杂记

写给一个想要拥有自己的博客,却没有资金的小白和小学时的自己

前言 ​

虽然,独立博客的时代已经过去,越来越多的人们开始在大平台上发布自己的文章

虽然,这些平台的流量能够为这些博主们创造收益

但是,拥有一个自己的博客,意味着它不仅属于自己,而且需要自己一步步为它添砖加瓦

比如文章的语言、界面的布局、功能多少、搜索引擎收录,都需要自己一点点完善

最后,看到自己的网站一步步走到现在,内心也会有一种自豪与欣慰的感觉

希望看到这篇文章的所有人,不管是学生还是其它人,都能拥有一个完全属于自己的博客,并且用心去建设其中的内容

类似于此处的引用一般会是一些注意事项,在阅读前记得多注意一些

会提到的一些东西 ​

  • Hexo
  • 静态博客
  • Serverless(无服务器)
  • GitHub Pages
  • Hexo 主题

步骤 ​

安装 Node.js ​

啥是 Node.js ?

Node.js 是一个基于Chrome V8引擎的 JavaScript 运行环境,使用了一个事件驱动、非阻塞式 I/O 模型,让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言 —— 百度百科

上边的这一个引用你可以忽略,看正文部分即可

首先,前往 Node.js 官网 下载安装包

选择长期维护版下载。如果你选择最新尝鲜版也无伤大雅,只是你有可能会遇到一些 Bug

如果你是 Windows 系统,下载下来的安装包后缀应为 .msi

macOS 下载 .pkg 后缀

Linux 标签页右方小叉

打开下载下来的安装程序,一路回车(开始的时候需要同意协议)

等待安装程序安装完成后,打开命令行或者终端,输入 node

如果返回的内容与你安装的版本一致那么就代表安装成功了

后续操作都会在终端进行输入

Node.js 安装成功以后默认会随附 npm 包管理器,会在之后用到

它的全称是 Node Package Manager ,你可以理解成手机上的应用商店

国内使用 npm 会很慢,你可以考虑切换为 taobao 镜像源

npm config set registry https://registry.npmmirror.com

你可以在安装完 Node.js 后安装 yarn 。Facebook 出品,比 npm 更快速的包管理器

npm & yarn 常用包与命令

Git 和 GitHub ​

安装 Git ​

Visual Studio Code ,简称 VS Code

目前最强大、最易用的编辑器,轻量、快速(宇宙第一编辑器

但它不是 VS , VS 指的是 Visual Studio ,是集成开发环境( IDE )(小白易读:开发软件用的)这玩意儿体积要比 VS Code 大一个量级

微软大法好

先安装 VS Code,这样可以在安装 Git 时设置 VS Code 为默认编辑器

Windows 10 / 11 用户可在微软商店(新版)下载

Git 是一个开源的分布式版本控制系统,由 Linus Torvalds(同时也是 Linux 的作者)为了管理 Linux 开发而开发。

简而言之,是一个版本管理工具。譬如设计师设计好了第三版的海报,客户却说还是要第一版吧,这时便可以通过 Git 快速回退到最初的版本。

你只需要把每次更改的状态(Git 会自动进行检测,你只要掌握基础的几条命令就可以了)告诉 Git,而不需要每个版本都保存一份压缩包,既方便也能大大节约空间。

下载 Git 并安装,速度太慢的话可以试试国内的软件分发网站(注意要找大厂如腾讯,千万不要选高速下载之类的东西)

注册 GitHub ​

这部分你可以等到在自己电脑上测试完成后,打算部署到线上的时候再翻回来看

从字面看,GitHub 便与 Git 有着密不可分的关系。Git 在必应翻译中是蠢货的意思,而 Hub 则为枢纽

所以 GitHub 便是 “蠢货枢纽” 的意思(大雾(划掉))

GitHub 是全球最大的开源项目与代码托管网站,也是众多开发者交流的平台,同时也是全球最大的同性交友网站

而其代码托管本身的实现正是基于上边的 Git

注册 GitHub 账号(虽然全英文无翻译,但是并不难理解,只需记住最常用的选项即可,而且官方文档有中文翻译)

注册时的英文 ID 将会成为你可以使用的免费域名前缀(比如我的 GitHub ID 是 Big-Cake-jpg ,那么我可以使用的免费域名就是 big-cake-jpg.github.io )

为啥是这个没中文还天天打不开的东西?

对于平民来说,第一次搭建网站时也许手头并没有钱去买服务器和域名

而 GitHub 则提供了 GitHub Pages 这一免费服务

用户们可以利用这一服务部署静态站点

点右上角的 + => New repository 或者左侧边栏里的绿色按钮新建一个仓库

create-repo创建仓库的页面。我这里因为有同名仓库所以无法创建

仓库名称务必像上图中 用户名.github.io 一样,用户名为英文,大小写可以不区分

为啥子必须要用这个仓库名啊……

如果你没有自备的域名,这样做可以让 GitHub Pages 将其作为你的专属域名。当然,如果你有自己的域名,可以绑定上去

点击 Create repository

安装 Hexo ​

Hexo

Hexo 是一个快速、简介、强大的博客框架,基于 Node.js,同样托管与 GitHub 上,拥有良好的生态。你可以用它快速生成静态页面,可以使用他人的主题与插件,也可自己定制

其它常用的博客框架还有 WordPressTypecho等,但它们往往需要购置自己的服务器,而无法静态化地部署到 GitHub Pages。当然,功能和灵活性也会大大提升。

静态化站点还有一个优势是访问速度往往更快。

静态网站生成器还有 VuePress 等,但这些多为写文档而量身定制,关于博客的主题与解决办法等会少得多

先在你喜欢的地方创建一个文件夹,起一个喜欢的名字,然后右键这个文件夹选择 Git Bash Here

在打开的终端里输入如下命令:

install:安装

hexo-clihexo 的终端工具,用于生成后面会用到的模版文件

-g:全局安装,即在电脑任何地方都可使用

然后输入:

hexo init 你的 GitHub 用户名.github.io

hexo 是因为之前安装了 hexo-cli 这个包,所以我们能够使用 hexo 这一命令

init 初始化博客模版,后面的参数是将会新建的文件夹的名字,建议与仓库名保持一致

cd 你的 GitHub 用户名.github.io
npm install
# or
yarn install
hexo server

server 意思是告诉 Hexo 开启本地测试服务器。这样的话,你就可以通过浏览器访问 localhost:4000 看到效果了

Ctrl + C终止本地服务器运行

至此,站点的基本框架已经搭建完成了

Hexo 默认提供的主题是 hexo-theme-landscape

样式简单,功能少,所以大多数人并不会用默认主题

本处使用云游君的主题 hexo-theme-yun

本站的主题即为 hexo-theme-yun

当然,你也可以到 Themes|Hexo 寻找其它主题使用,比如 hexo-theme-next

下载主题 ​

进入终端,确保路径在你之前初始化的博客文件夹下(下面简称 Hexo 目录),然后执行如下命令

「你知道吗」可以在 VS Code 里直接打开终端

yarn add hexo-theme-yun # npm install -g hexo-theme-yun

注意:hexo-theme-yun 从 v1.8 开始使用 npm 包分发,你需要按照文档的步骤进行配置迁移

编辑 Hexo 配置 ​

右键 Hexo 文件夹,选择 “使用 VS Code 打开”。此后操作都默认你处在该工作目录中

在此前初始化操作建立的 Hexo 文件目录下,会存在一个 _config.yml 文件

它是 Hexo 的配置文件,你可以在 配置|Hexo 处查看各配置选项的意义

在这个文件中找到 theme 字段,将后边的 landscape 修改为 yun

后边的 yun根据你选择的主题来设置,比如你使用 hexo-theme-next,那么将后面的字段设置为 next

一般来说,主题都会在使用文档中声明使用了什么渲染器

hexo-theme-yun 使用 pug 和 stylus 渲染器,而 Hexo 自带的一般是 ejs 与 stylus,所以可能需要输入下方命令安装缺失的渲染器

npm install hexo-renderer-pug hexo-renderer-stylus

# 如果出了问题,可以试试 yarn 安装

完成上述步骤以后,再次使用 hexo server 启动测试服务器,即可看到一个全新的页面

自定义主题配置 ​

第一次启动使用的是主题的默认配置,不一定符合你的心意

所以你可以根据自己的需求,对主题进行一些自定义

主题的默认配置文件放在了 source/主题/_config.yml

但是直接修改这个文件将导致以后主题更新升级麻烦得很

一般来说,主题的使用文档将会给出这种情况的解决方案

hexo-theme-yun 会让用户在博客根目录新建 _config.yun.yml

更多配置选项请参考主题文档

生成站点的静态文件并部署 ​

生成静态文件 ​

直到现在为止,你之前的工作都是本地进行,你也许已经迫不及待想让博客上线了

这时,便轮到 GitHub Pages 登场了

# 生成静态文件
hexo generate
# 缩写为 hexo g

当执行完成后,Hexo 目录下会出现一个 public 文件夹,里边存放的是刚才生成的静态文件

与远程仓库进行关联 ​

然后执行如下命令初始化 Git 仓库

部署之前,最好建立一个备份 Hexo 工作目录的分支

完成后,所有的工作就都将在 hexo 分支进行

安装 hexo-deployer-git 插件

npm install hexo-deployer-git

在 Hexo 配置文件 _config.yml不是主题的)中配置

deploy:
  type: git
  repo: 你此前新建的仓库的链接 # 比如:https://github.com/Big-Cake-jpg/big-cake-jpg.github.io
  branch: master # 默认使用 master 分支
  message: Update Hexo Static Content # 你可以自定义此次部署更新的说明

保存并部署

第一次部署可能需要 GitHub 账号密码,密码输入时不会出现星号,但是密码已经输入进去了

等待 Git 推送完成后,在 GitHub 上依次打开 仓库 => Settings => Pages

选择分支(一般都是 master),点击 save

等待几秒钟,打开 https://你的 GitHub 用户名.github.io 就可以看到线上效果了

备份 Hexo 工作区以及自动部署 ​

备份 Hexo 工作区 ​

上边的做法只是将生成的静态文件部署到了云端而已

为了方便在不同设备上写作以及以防万一,你的 Hexo 工作目录也应该推送到 GitHub 仓库备份

# 只需执行一次,这会与远程仓库建立一个连接
git remote add origin https://github.com/你的用户名/你的用户名.github.io.git

VS Code 中有比较方便的操作,它会在右侧栏中的“源代码管理”中显示所有你修改过的文件

你可以在顶部的输入框中输入这次改了工作区的什么文件之类的,然后按跟前的对勾即可提交到本地 Git 仓库

然后再点击最下方的蓝色大条条中的一个带俩箭头的“同步更改”按钮将 Hexo 工作区推送到 GitHub

自动部署 ​

时间长了,你会发现这样还是不方便,在别的设备上你得再拉取一遍仓库,如果碰巧你用的是手机 / 平板那更是只能干瞪眼

所以现在我们需要一个持续集成服务

本文中使用 GitHub Actions,自身便拥有仓库的 Token ,不需要额外的配置,可直接使用 secrets.GITHUB_TOKEN

你可以参考 Hexo 官方文档,也可以直接照抄我的 gh-pages.yml

记得把 branch 的值改成自己存放 Hexo 工作区的分支名,删掉 algolia 字段

当然,你还可以使用 Netlify、Vercel 等第三方服务

完成后,你的个人博客便基本搭建完成。你可以再对主题进行自定义,或者开始写作

开始写作 ​

文章 ​

输入以下命令即可新建 xxx.md 文件

Markdown 标记语言语法等

为文章添加标签/分类 ​

你可能需要先了解 Hexo 的 Front-matter

Front-matter

---
title: 手把手教你如何搭建属于自己的 Hexo 博客
date: 2021-12-04 16:45:10
tags:
  - GitHub  
  - Hexo 
  - 博客
categories:
  - 分享
---
你的文章内容

页面 ​

自定义页面在 Hexo 中是可以使用的,譬如直接在 source 下新建 HTML 进行编写

也可以通过执行下边的命令新建页面(还是 Markdown,不过你可以直接在 Markdown 里写 HTML 的,同样会渲染)

FAQ ​

有打算发视频吗? ​

没有打算,电脑被家人收了,不让我动 QWQ

二是视频制作比较麻烦,文章相对来说更加简单

我想绑定我自己的域名( ​

首先你得有个域名

将域名用 CNAME 解析到 你的名字.github.io(当然 A 记录直接填 GitHub Pages 的 IP 也可以)

GitHub 官方文档,有中文

source 文件夹下新建 CNAME 文件(没有后缀)并填入你的域名

然后部署一次即可

如果你后边把这东西删掉的话,随后不包含它的部署将会把远程仓库里的 CNAME 覆盖掉

备案 ​

要用国内服务如 CDN,不备案是真的难于上青天

这里的备案指的是 ICP 备案(就是每个国内网站页脚挂的 “京 ICP 备 xxxxxxxxxx 号” 之类的

但国内备案都要求你有一台人家的国内服务器,且购买时长至少 3 个月以上

需要注意的是:

  • 确定域名可以备案(moe 之类的域名无法备案)

  • 关闭评论区

  • 备注说明不得包含 交流 字样

  • 首页不能含有其他网站直达链接

  • 遵纪守法(那肯定)

你也可以直接下线网站,等备案成功以后再上线(以后偶尔会复查,相对宽松很多)

按照服务商的备案步骤一步步来即可

拿到 ICP 备案号以后页脚必须清晰展示备案号,且指向 https://beian.miit.gov.cn

写在最后 ​

个人博客可以用作许多用途,比如笔记本、回忆、创作、开发经验、生活等等

多年后,再打开它看自己写下的内容,回忆纷纷涌上心头,多么美好

希望大家的博客成功上线以后,能够承载着自己的许多回忆、承载自己的人生,走得更远