【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://xiahunao.cn/news/2906120.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

独立站如何采集商品?外贸独立站采集教程

最近和一位仿牌的卖家聊天&#xff0c;他想建个站做日本市场。除了产品素材、suk以外其它都能搞定&#xff0c;找到我帮忙。从这里Robert了解到还有国内有很多仿牌卖家、微商&#xff0c;都有类似的情况&#xff0c;他们出海的阻碍主要在于支付、物流、推广。只要解决了这些问题…

网站业务对接DDoS高防

准备需要接入的网站域名清单&#xff0c;包含网站的源站服务器IP&#xff08;仅支持公网IP的防护&#xff09;、端口信息等。所接入的网站域名必须已完成ICP备案。如果您的网站支持HTTPS协议访问&#xff0c;您需要准备相应的证书和私钥信息&#xff0c;一般包含格式为.crt的公…

Docker部署MongoDB+整合Mongo版MyBatis—Plus

&#x1f469;&#x1f3fd;‍&#x1f4bb;个人主页&#xff1a;阿木木AEcru &#x1f525; 系列专栏&#xff1a;《Docker容器化部署系列》 《Java每日面筋》 &#x1f4b9;每一次技术突破&#xff0c;都是对自我能力的挑战和超越。 目录 一、 MongoDB简介1.1 适用场景1.2 应…

【跟着CHATGPT学习硬件外设 | 05】I2C

本文根据博主设计的Prompt由CHATGPT生成&#xff0c;形成极简外设概念。 &#x1f680; 1. 概念揭秘 I2C&#xff08;Inter-Integrated Circuit&#xff09;&#xff0c;也被称为IIC或双线接口&#xff0c;是一种用于微控制器&#xff08;Microcontrollers&#xff09;和外设…

Rust控制台输出跑马灯效果,实现刷新不换行,实现loading效果

要在 Rust 中实现控制台刷新而不换行&#xff0c;以实现类似 "loading" 状态的效果&#xff0c;你可以使用 \r&#xff08;回车符&#xff09;来覆盖上一行的内容。 use std::io::{self, Write}; use std::thread; use std::time::Duration;fn main() {let loading_…

零拷贝技术探讨

零拷贝技术是一种用于提高数据传输效率的网络技术&#xff0c;主要应用于网络服务器中。它通过减少数据在操作系统内核空间和用户空间之间的复制次数来提高性能。 在传统的网络服务器中&#xff0c;当客户端向服务器发送请求时&#xff0c;服务器会从磁盘读取数据&#xff0c;…

tab切换组件,可横向自适应滑动

示例图&#xff1a; 注&#xff1a;需要引入Jquery <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>.tabs-box {width: 100%;height: auto;}.tab-header-box {display: flex;overflow: hidden…

Prometheus +Grafana +node_exporter可视化监控Linux + windows虚机

1、介绍 背景&#xff1a;需要对多台虚机进行负载可视乎监控&#xff0c;并进行及时的报警 2、架构图 node_exporter &#xff1a;主要是负责采集服务器的信息。 Prometheus &#xff1a;主要是负责存储、抓取、聚合、查询方面。 Grafana &#xff1a; 主要是…

亚信安慧AntDB引领优质解决方案

亚信安慧AntDB数据库在运营商自主可控替换项目中的成功应用&#xff0c;具有极其重要的意义。该数据库的落地&#xff0c;不仅为这一项目注入了强大的支持力量&#xff0c;还在更大程度上提升了整体的运营效能。作为一种高效可靠的数据库解决方案&#xff0c;AntDB引入了先进的…

2.9 Python缩进规则(包含快捷键)

Python缩进规则&#xff08;包含快捷键&#xff09; 和其它程序设计语言&#xff08;如 Java、C 语言&#xff09;采用大括号“{}”分隔代码块不同&#xff0c;Python采用代码缩进和冒号&#xff08; : &#xff09;来区分代码块之间的层次。 在 Python 中&#xff0c;对于类…

ps 常用命令

ps 常用命令 什么是ps&#xff1f; ps是process status的缩写&#xff0c;用于查看当前系统中运行的进程信息。它提供了关于进程的各种详细信息&#xff0c;如进程 PID、进程状态、CPU 使用情况、内存占用、运行时间等。 常用选项参数 -A &#xff1a;所有的进程均显示出来…

接口自动化框架搭建(三):pytest库安装

1&#xff0c;使用命令行安装 前提条件&#xff1a;已安装python环境 pip install pytest 或者 pip3 install pytest2&#xff0c;从编译器pycharme中安装

如何选择指纹浏览器?盘点好用是防关联浏览器

在网络世界中&#xff0c;保护您的在线隐私和安全非常重要。反检测浏览器是专门为此诞生的工具&#xff0c;旨在通过更改浏览器指纹来帮助您做到这一点&#xff0c;它们使网站、广告商和其他人很难跟踪您的在线行为。 一、什么是反检测浏览器&#xff1f; 您是否想过网站如何检…

『大模型笔记』提示工程、微调和RAG之间对比

提示工程、微调和RAG之间对比 文章目录 一. 提示工程、微调和RAG之间对比二. 参考文章文章:Prompt Engineering vs Finetuning vs RAG一. 提示工程、微调和RAG之间对比 Prompt EngineeringFinetuning

基于FPGA实现的自适应三速以太网

一、三速以太网 千兆以太网PHY芯片是适配百兆和十兆的&#xff0c;十兆就不管了&#xff0c;我们的设计只适应千兆和百兆。 根据上图&#xff0c;我们是可以获取当前主机网口的速率信息的。 always(posedge w_rxc_bufr) beginif(w_rec_valid d0) beginro_speed < w_rec_…

京东商品详情采集API商品价格商品详情抓取API接口(可测试)

京东的商品详情采集API涉及到京东的开放平台服务。如果你想要获取京东商品的价格、详情等信息&#xff0c;通常需要使用京东提供的官方API接口。这些接口需要注册开发者账号&#xff0c;并申请相应的API密钥才能使用。 请求示例&#xff0c;API接口接入Anzexi58 不过&#xff…

iOS开发进阶(十一):ViewController 控制器详解

文章目录 一、前言二、UIViewController三、UINavigationController四、UITabBarController五、UIPageViewController六、拓展阅读 一、前言 iOS 界面开发最重要的首属ViewController和View&#xff0c;ViewController是View的控制器&#xff0c;也就是一般的页面&#xff0c;…

HCIP【GRE VPN配置】

实验要求&#xff1a; 按照图式配置IP地址在R1和R3上配置默认路由使公网区域互通在R1和R3上配置GRE VPN&#xff0c;使两端私网能够互相访问&#xff0c;Tunnel口的IP地址如图所示在R1和R3上配置RIPv2、OSPF或者静态路由传递两端私网路由 实验图式如下&#xff1a; 实验配置思…

苹果iOS系统ipa签名圈内和圈外的区别是什么

哈喽&#xff0c;大家好&#xff0c;咕噜淼淼又来和见面啦&#xff0c;最近有好多小伙伴都在疑惑苹果iOS系统ipa签名为什么还有圈内圈外之分&#xff0c;在签名市场中&#xff0c;与客户在寻谈价格的时候&#xff0c;总是会问到圈内和圈外价格多少&#xff0c;为什么圈外价格要…

如何使用固定公网地址远程连接Python编译器并将运行结果返回到Pycharm

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…