【Hexo + Github 搭建自己的专属博客】

目录

一、前提环境配置

1. 安装Git和NodeJS

2. 安装Hexo

3. 加载主题

4. 修改主题配置

二、搭建博客

1. 将博客部署在GitHub上

2. 写文章并上传

3. 配置一些特效

三、最终成果

​编辑


一、前提环境配置

1. 安装GitNodeJS

Windows 上使用 Git ,可以从 Git 官网直接 https://git-scm.com/downloads ,然后按默认选项安
装即可。安装完成后,在开始菜单里找到 “Git”->“Git Bash” ,蹦出一个类似命令行窗口的东西,就
说明 Git 安装成功!
Git 中绑定 Github 账号,打开 “Git Bash” ,在命令框中依次输入两行命令:
git config --global user.name “Your Name”
git config --global user.email email@example.com
# 其中Your Name和email@example.com替换成上面注册时的账户名和邮箱
由于 Hexo 是基于 Node.js 驱动的一款博客框架,所以安装 NodeJS https://nodejs.org/en/downl
oad/ 并配置环境变量。
安装之后可以输入以下命令查看是否安装成功:
git version
node -v
npm -v

2. 安装Hexo

以上环境准备好了就可使用 npm 开始安装 Hexo 了,在命令行输入执行如下命令:
npm install -g hexo-cli
安装 Hexo 完成后,在指定文件夹下打开 “Git Bash” ,再执行下列命令, Hexo 将会在指定文件夹中
新建所须要的文件:
hexo init myBlog
cd myBlog
npm install
若是上面的命令都没报错的话,就恭喜了,运行 hexo s 命令,其中 s server 的缩写,在浏览
器中输入 http://localhost:4000 回车就能够预览效果了。

3. 加载主题

大家可以去官网上找自己喜欢的主题下载 https://hexo.io/themes/ 
随后将下载的主题文件夹放在 myblog/themes 中,在 _config.yml 文件中修改 theme hexo
theme-Chic(注意和主题文件名一致)
修改好之后在 “Git Bash” 中执行 hexo g 命令,然后再 hexo s ,在浏览器中输入 http://localhost:4
000 回车就能够预览修改主题后的效果了。

4. 修改主题配置

修改在主题文件夹下的 _config.yml 文件,完成自己个人的配置。
# Header 主页面标题
navname: Bentham's Blog
# navigatior items 四个文件归类
nav:
Posts: /archives
Categories: /category
Tags: /tag
About: /about
# favicon 图标
favicon: /favicon.ico
# Profile 中间显示名字
nickname: Jeremy Bentham
### this variable is MarkDown form.
# 个人描述,可以修改成自己要显示的句子
description: Lorem ipsum dolor sit amet, **consectetur adipiscing elit.**
<br>Fusce eget urna vitae velit *eleifend interdum at ac* nisi.
# 个人头像图片
avatar: /image/avatar.jpeg
# main menu navigation
## links key words should not be changed.
## Complete url after key words.
## Unused key can be commented out.
# 下方超链接
links:
Blog: /archives
# Category:
# Tags:
# Link:
# Resume:
# Publish:
# Trophy:
# Gallery:
# RSS:
# AliPay:
ZhiHu: https://www.zhihu.com/people/sirice
# LinkedIn:
# FaceBook:
# Twitter:
# Skype:
# CodeSandBox:
# CodePen:
# Sketch:
# Gitlab:
# Dribbble:
Instagram:
Reddit:
# YouTube:
# QQ:
# Weibo:
# WeChat:
Github: https://github.com/Siricee
# how links show: you have 2 choice--text or icon. 图标 or 文字
links_text_enable: false
links_icon_enable: true
# Post page
## Post_meta
post_meta_enable: true
post_author_enable: true
post_date_enable: true
post_category_enable: true
## Post copyright
post_copyright_enable: true
post_copyright_author_enable: true
post_copyright_permalink_enable: true
post_copyright_license_enable: true
post_copyright_license_text: Copyright (c) 2019 <a
href="http://creativecommons.org/licenses/by-nc/4.0/">CC-BY-NC-4.0</a>
LICENSE
post_copyright_slogan_enable: true
post_copyright_slogan_text: Do you believe in <strong>DESTINY</strong>?
## toc
post_toc_enable: true
# Page
page_title_enable: true
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## http://momentjs.com/docs/#/displaying/format/
date_format: MMMM D, YYYY
time_format: H:mm:ss
# stylesheets loaded in the <head>
stylesheets:
- /css/style.css

二、搭建博客

1. 将博客部署在GitHub

点击 Start project 或者下面的 new repository 建立一个新的仓库,注意 Github 仅能使用一个同
名仓库的代码托管一个静态站点 ,这里注意仓库名一定要是: 用户名 .github.io
配置 SSH key ,要使用 git 工具首先要配置一下 SSH key ,为部署本地博客到 Github 作准备。
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
ssh-keygen -t rsa -C '上面的邮箱'
按照提示完成三次回车,便可生成 ssh key ,采用以下指令也可以查看自己的 ssh
cat ~/.ssh/id_rsa.pub
首次使用还须要确认并添加主机到本机 SSH 可信列表。若返回 Hi xxx! You've successfully
authenticated, but GitHub does not provide shell access. 内容,则证实添加成功。
ssh -T git@github.com
登陆 Github 上添加刚刚生成的 SSH key ,按如下步骤添加,右上角点击头像 -> settings -> SSH
and GPG keys ,建立一个新的 SSH key, 标题随便, key 就填刚才生成那个,确认建立,这样在你
的 SSH keys 列表里就会看到你刚刚添加的密钥。

此时,本地和 Github 的工做作得差不了,是时候把它们两个链接起来了。你也能够查看官网的部署
教程。先不着急,部署以前还须要修改配置和安装部署插件。第一:打开项目根目录下的
_config.yml 配置文件配置参数。拉到文件末尾,填上以下配置。 第二要安装一个部署插件 hexo-deployer-git ,打开 “Git Bach” ,输如以下指令:
npm install hexo-deployer-git --save
最后执行如下两条命令就能够部署上传啦,如下 g generate 缩写, d deploy 缩写
hexo g # 先生成
hexo d # 部署到Github上
这时用浏览器输入 用户名 .github.io 就可以访问刚才的网站啦。

2. 写文章并上传

博客搭好了,就开始写文章了,这里简单介绍一下,详细的文档能够看 hexo 官网。新建文章,输
入如下命令便可
hexo new '文章标题'
执行完成后能够在 /source/_posts 下看到一个 文章标题 .md” 的文章文件啦。 .md 就是 Markdown
格式的文件,具体用法能够在网上找一下,语法仍是比较简单的。
---
title: blogTest
date: 2021-08-20 18:07:21
tags: Test
categories: blog1
---
### 1. This is a blog Test
* First
* Second
---
### 2. Show Text
* **这是加粗**
> *这是斜体*
之后依次输入以下命令:
hexo g # 生成文件
hexo s # 本地服务器查看网站
hexo d # 部署到Github 上

3. 配置一些特效

雪花特效: themes\hexo - theme - Chic\layout\index.ejs 中添加如下代码:
<!-- 雪花特效 -->
<script type="text/javascript"
src="https://libs.baidu.com/jquery/1.8.3/jquery.js"></script>
<script type="text/javascript"
src="https://libs.baidu.com/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="/js/snow.js"></script>
蜘蛛网特效: themes\hexo - theme - Chic\layout\layout.ejs 中添加如下代码:
<script>
!
function() {
function n(n, e, t) {
return n.getAttribute(e) || t
}
function e(n) {
return document.getElementsByTagName(n)
}
function t() {
var t = e("script"),
o = t.length,
i = t[o - 1];
return {
l: o,
z: n(i, "zIndex", -1), //置于主页面背后
o: n(i, "opacity", .5), //线条透明度
c: n(i, "color", "0,0,0"), //线条颜色
n: n(i, "count", 100) //线条数量
}
}
function o() {
a = m.width = window.innerWidth ||
document.documentElement.clientWidth || document.body.clientWidth,
c = m.height = window.innerHeight ||
document.documentElement.clientHeight || document.body.clientHeight
}
function i() {
r.clearRect(0, 0, a, c);
var n, e, t, o, m, l;
s.forEach(function(i, x) {
for (i.x += i.xa, i.y += i.ya, i.xa *= i.x > a || i.x < 0 ? -1 :
1, i.ya *= i.y > c || i.y < 0 ? -1 : 1, r.fillRect(i.x - .5, i.y - .5, 1,
1), e = x + 1; e < u.length; e++) n = u[e],
null !== n.x && null !== n.y && (o = i.x - n.x, m = i.y - n.y, l
= o * o + m * m, l < n.max && (n === y && l >= n.max / 2 && (i.x -= .03 * o,
i.y -= .03 * m), t = (n.max - l) / n.max, r.beginPath(), r.lineWidth = t /
2, r.strokeStyle = "rgba(" + d.c + "," + (t + .2) + ")", r.moveTo(i.x, i.y),
r.lineTo(n.x, n.y), r.stroke()))
}),
x(i)
}
var a, c, u, m = document.createElement("canvas"),
d = t(),
l = "c_n" + d.l,
r = m.getContext("2d"),
x = window.requestAnimationFrame || window.webkitRequestAnimationFrame
|| window.mozRequestAnimationFrame || window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(n) {
window.setTimeout(n, 1e3 / 45)
},
w = Math.random,
y = {
x: null,
y: null,
max: 2e4
};
m.id = l,
m.style.cssText = "position:fixed;top:0;left:0;z-index:" + d.z +
";opacity:" + d.o,
e("body")[0].appendChild(m),
o(),
window.onresize = o,
window.onmousemove = function(n) {
n = n || window.event,
y.x = n.clientX,
y.y = n.clientY
},
window.onmouseout = function() {
y.x = null,
y.y = null
};
for (var s = [], f = 0; d.n > f; f++) {
var h = w() * a,
g = w() * c,
v = 2 * w() - 1,
p = 2 * w() - 1;
s.push({
x: h,
y: g,
xa: v,
ya: p,
max: 6e3
})
}
u = s.concat([y]),
setTimeout(function() {
i()
},
100)
} ();
</script>

三、最终成果

我的博客网址:https://wudreamer.github.io/    欢迎大家访问哈!

另外这个网址我还也没有买服务器和域名来进行备案,因此可能访问不稳定,后期会加以修正。

这个前端主题也是在hexo中找来后修改的,等过阵子后有时间再写个自己独属的主题。

如果对这个喜欢主题的话可评论找我!

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

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

相关文章

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵

文章目录 下载数据集NSL-KDD数据集介绍输入的41个特征输出的含义数据处理&&训练技巧建神经网络&#xff0c;输入41个特征&#xff0c;输出是那种类别的攻击模型训练模型推理写gradio前端界面&#xff0c;用户自己输入41个特征&#xff0c;后端用模型推理计算后显示出是…

Jenkins--在Linux上使用Docker安装

一、Jenkins 简介 Jenkins是一个流行的开源自动化服务器&#xff0c;用于持续集成和持续交付&#xff08;CI/CD&#xff09;。Jenkins的核心功能主要包括以下几点&#xff1a; 持续集成&#xff1a;Jenkins可以监控版本控制系统&#xff08;如Git、SVN&#xff09;中的代码变…

模型训练----加载自己的数据集,train.txt包含“路径,类别”

今天想训练一个restnet&#xff0c;之前我是会用文件夹的方式加载数据集&#xff0c;但是师兄给我的数据是用.txt文件划分的训练集和验证集&#xff0c;知道是要把路径和标签提取出来&#xff0c;搞了半天没搞成&#xff0c;后边找到咋搞了。 点击查看 纯真丁一郎博客点击访问…

产品经理的6个关键职责

1. 前言 本文深入探讨了产品经理的六个关键职责,全面解析了产品经理在产品开发与市场运营中的核心作用。首先,市场调研是产品经理的基础工作,通过对市场趋势、用户需求及竞争态势的深入研究,为产品决策提供有力支持。其次,产品定义及设计是产品经理的核心能力,他们需精准…

蓝桥杯:Python基础学习一

目录 一、遍历列表 1.使用for 循环和 enumerate()函数实现 2.案例代码 二、对列表进行统计和计算 1.统计数值列表的元素和 2.案例代码 三、对列表进行排序 1.使用列表对象的sort()方法 2.使用内置的 sorted()函数实现 四、列表推导式 1.从列表中选择符合条件的元素组…

Matlab|计及电池储能寿命损耗的微电网经济调度

目录 1 主要内容 储能寿命模型 负荷需求响应 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《考虑寿命损耗的微网电池储能容量优化配置》模型&#xff0c;以购售电成本、燃料成本和储能寿命损耗成本三者之和为目标函数&#xff0c;创新考虑储能寿命损耗约…

【Java跳槽面试必备】2024年最新八股文

Java基础面试题 Java的特点 Java 与 C 的区别 JDK/JRE/JVM三者的关系 Java程序是编译执行还是解释执行&#xff1f; 面向对象和面向过程的区别&#xff1f; 面向对象有哪些特性&#xff1f; 数组到底是不是对象&#xff1f; Java的基本数据类型有哪些&#xff1f; 为什么不能用…

【python由站点数据插值到网格数据方法对比】

文章目录 1、前言2、结果对比2.1 原始散点站位图2.2 griddata插值2.3 krige插值2.4 RBF插值2.5 IDW插值 3、总结 1、前言 气象海洋中空间数据类型有站点数据、格点数据。站点数据空间分布不连续&#xff0c;不利于进行时空分析&#xff1b;有时需要将站点数据插值到网格中。本…

GEC6818开机自动加载驱动与更改开发板的RTC时钟

GEC6818开机自动加载驱动与更改开发板的RTC时钟 本文主要涉及&#xff1a; 1.GEC6818开机自动加载驱动 2.更改开发板的RTC时钟 文章目录 GEC6818开机自动加载驱动与更改开发板的RTC时钟一、开机自动加载驱动或运行程序**STEP1&#xff1a;** 使用vi打开文件profile.命令如下**S…

“智慧食堂”设计与实现|Springboot+ Mysql+Vue+Java+ B/S结构(可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目持续更新中..... 2024年计算机毕业论文&#xff08;设计&#xff09;学生选题参考合集推荐收藏&#xff08;包含Springboot、jsp、ssmvue等技术项目合集&#xff09; 目录 1. 功…

智能电表怎么偷电?

大家好&#xff0c;今天我们要聊的是一个关于智能电表的小疑惑——智能电表是否能被“偷电”。可能你听过这样的说法&#xff0c;有人声称通过某些方法可以让电表不准确计费&#xff0c;甚至可以“偷电”。但事实真的是这样吗?让我们一起来科普一下。 首先&#xff0c;智能电表…

全球首位AI程序员诞生,技术革新还是职业威胁?

目录 导语&#xff1a; 一、2024年的第一丝凉意 二、AI在编程领域的应用现状 三、关于Devin的现状 四.未来展望 五.面对未来挑战&#xff0c;我们应该 结语&#xff1a; 导语&#xff1a; 时间回调到两周前的3月13号&#xff0c;世界上第一位AI程序员Devin诞生&#xff…

人工智能的决策树介绍

决策树模型 决策树基于“树”结构进行决策 每个“内部结点”对应于某个属性上的“测试”每个分支节点对应于该测试的一种可能结果&#xff08;即属性的某个取值&#xff09;每个“叶结点”对应于一个“预测结果” 学习过程&#xff1a;通过对训练样本的分析来确定“划分属性”…

记录echarts各种地图json文件下载地址

今日绘图需要用到echarts的地图json文件&#xff0c;但是github上已经找不到了&#xff0c;后发现伟大的网友提供了地址如下&#xff1a;Index of /examples/data/asset/geohttps://echarts.apache.org/examples/data/asset/geo/ 免费下载实时更新的geoJson数据、行政区划边界…

如何解决Modbus转Profinet网关通信不稳定或数据丢失问题

接到现场反映&#xff0c;在配置Modbus转Profinet网关时&#xff0c;出现Modbus转Profinet网关&#xff08;XD-MDPN100&#xff09;通信不稳定或数据丢失的问题&#xff0c;就这个问题特做出答疑。 解决Modbus转Profinet网关&#xff08;XD-MDPN100&#xff09;通信不稳定或数据…

【Linux进阶之路】理解UDP,成为TCP。

前言 学了TCP 和UDP之后&#xff0c;感觉UDP就像是初入职场的年轻人&#xff0c;两耳不闻 “窗外事”&#xff0c;只管尽力地把自己的事情做好&#xff0c;但收获的却是不可靠&#xff0c;而TCP更像是涉世极深的"职场老油条"&#xff0c;给人的感觉就是 “城府极深&a…

Arduino中引脚的数字与真实引脚的对应关系

我们使用arduino开发时&#xff0c;最长遇到的是对端口管脚的拉高拉低&#xff0c;代码如下 void setup() {pinMode(13,OUTPUT); }void loop() {digitalWrite(13,HIGH); }上面还最简单io控制代码&#xff0c;其中引脚我们使用了数字13&#xff0c;但是这个13对应着哪个引脚呢&a…

老壁灯带你入门动态规划

1. 什么是动态规划 动态规划(dynamic programming)是运筹学的一个分支&#xff0c;是求解决策过程(decision process)最优化的数学方法。 从字面意义上来理解&#xff0c;就是走一步看一步&#xff0c;边解决问题&#xff0c;边对问题进行整体规划。 其实&#xff0c;动态规…

Mac上的Gatekeeper系统跟运行时保护

文章目录 问题&#xff1a;无法打开“xxx.xxx”&#xff0c;因为无法验证开发者。macOS无法验证此App是否包含恶意软件。如何解决&#xff1f; 参考资料门禁运行时保护 问题&#xff1a;无法打开“xxx.xxx”&#xff0c;因为无法验证开发者。macOS无法验证此App是否包含恶意软件…

Leetcode - 2580. 统计将重叠区间合并成组的方案数

文章目录 思路AC CODE总结 题目链接&#xff1a;2580. 统计将重叠区间合并成组的方案数 思路 一个区间合并的板子&#xff0c;计算出区间数目之后&#xff0c;每个区间都有放左和放右两种选法&#xff0c;所以最后的答案就是 2 k 2^k 2k。但是需要用c进行二维数组的排序&…