极速搭建Hexo博客【 CentOS7 + Node.js + Hexo + Github Pages】

2023-11-05

Hexo是一款流行的博客框架,基于Node.js,支持Markdown语法。这篇文章记录我如何完成搭建并部署到Github Pages上。

创建虚拟环境

养成隔离项目环境的好习惯

$ python3 -m venv venv_blog    # 创建虚拟环境
$ . venv_blog/bin/activate     # 激活虚拟环境
$ mkdir Blog && cd Blog        # 创建并进入项目目录

安装Node.js

这是第一个坑,千万不要使用yum直接安装,似乎是直接安装版本太低,后面会有问题而无法继续。

下载特定版本

# 下载
$ wget https://nodejs.org/dist/v9.3.0/node-v9.3.0-linux-x64.tar.xz
# 解压
$ xz -d node-v9.3.0-linux-x64.tar.xz
$ tar -xvf node-v9.3.0-linux-x64.tar
# 移至指定目录
$ mv node-v9.3.0-linux-x64 /usr/local/node
$ rm node-v9.3.0-linux-x64.tar.xz  # 或保持在`Blog`目录下rm -rf *

配置环境变量

打开配置文件/etc/profile

$ sudo vim /etc/profile

在底部添加PATH变量

export PATH=$PATH:/usr/local/node/bin

保存退出

安装gitnpm (常用)

$ sudo yum -y install git npm

安装Hexo

# 可能会遇到下载速度太慢的问题,可切换至淘宝镜像源
$ npm install cnpm -g --registry=https://registry.npm.taobao.org
$ npm install -g hexo-cli

运行Hexo

初始化安装

$ hexo init    # 初始化
$ npm install
$ hexo -v      # 涉及到的各种组件版本

本地启动(可跳过)

$ hexo s       # 或`hexo server`
# 在另一个终端下
$ elinks http://localhost:4000/

执行上面第一条命令时如遇到“FATAL Port 4000 has been used. Try other port instead.”,则需要切换端口

$ hexo s -p 5000    # 其他端口类似
# 在另一个终端下
$ elinks http://localhost:5000/

Ctrl + C退出。

部署到Github Page

创建指定repo

首先需要到你的Github上开启一个新的项目,但是需要按照一定规则:假设你的Github用户名是guser,那么repo名称必须为guser.github.io.git,随后创建即可。

安装git deployer插件

$ sudo npm install hexo-deployer-git --save

修改网站配置文件_config.yml

打开Blog目录下的_config.yml文件,找到# Deployment部分(一般是文件末尾处),deploy保持为空,其他设置如下

  type: git
  repo: https://github.com/guser/guser.github.io.git
branch: master

保存退出。

完成部署

$ hexo clean
$ hexo g      # 或者`hexo generate`
$ hexo d      # 或者`hexo deploy`

浏览器访问

访问地址为https://guser.github.io/

完成!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

极速搭建Hexo博客【 CentOS7 + Node.js + Hexo + Github Pages】 的相关文章

随机推荐

  • 【pta打印选课学生(python版) 基于python3.0】

    pta打印选课学生 python版 题目介绍 假设全校有最多40000名学生和最多2500门课程 现给出每个学生的选课清单 要求输出每门课的选课学生名单 输入格式 输入的第一行是两个正整数 N 40000 为全校学生总数 K 2500 为总
  • vditor编辑器上传视频方法详解

    此文章主要讲编辑器上传视频的方法 若想了解vditor更多更详细的使用方法可以参考vue中使用vditor 发布 编辑 详情回显 上传图片 粘贴图片回显问题 表情的处理 1 html div div 2 demo toolbar hotke
  • LINUX:开发中用得较多的一些操作

    目录文件相关 cd命令用来切换工作目录至dirname 其中dirName表示法可为绝对路径或相对路径 若目录名称省略 则变换至使用者的home directory 也就是刚login时所在的目录 另外 也表示为home directory
  • [记录]centos java mysql链接错误

    项目场景 CentOS 7 3 JDK openjdk version 1 8 0 302 Mysql 5 7 35 问题描述 数据库链接错误 Communications link failure Caused by javax net
  • Google Filament 源码学习(五):Material System (四) - 材质系统 API

    目录 Shader public APIs Introduction Types Math Matrices Frame constants Vertex only Fragment only Handling colors Linear
  • android开发图片分辨率

    一直受到android开发图片分辨率问题困扰 drawable xdpi hdpi mdpi ldpi nodpi 这几个文件夹到底怎么放图片呢 dpi是什么呢 dpi是 dot per inch 的缩写 每英寸像素数 四种密度分类 ldp
  • OpenCV人脸检测及识别(深度学习)

    简介 最近做了一个人脸检测以及识别的程序 很多的文章都有比较详细的叙述 可以自行查找 但是个人觉得大部分文章都太细致了以至于初学者无法快速领会主干 不是否认质量 是侧重点问题 所以结合我遇到了一些问题 现在做个总结 本文主要叙述实现的思路
  • Batch Processing

    在学习HOG SVM实现手写识别算法的过程中 看到对图片库文件夹提取文件名及标签的操作 即生成一个文本文件 按照文件名 标签的格式依次存储 为换行的意思 zaza Ji轻度强迫症 捣饬了半天才写出了个一行的批处理代码 我也是醉了 仅此留个纪
  • 如何实现apex的安装工作?

    1 具体的apex安装步骤 swav luanhaijing gpu02 extract swav feature git clone https github com ptrblck apex git Cloning into apex
  • VSCODE CMAKE C++ 工程调试, C++不以科学计数法输出并控制小数位数

    1 VSCODE调试CMAKE工程配置 1 1 修改CMakeLists txt文件 1 2 程序中 1 3 launch json配置 1 4 开始调试 1 5 注意 2 C 设置输出浮点数且保留位数固定 1 VSCODE调试CMAKE工
  • 通过 rqt_plot 完成ATI F/T 力和力矩传感器六轴数据可视化

    基于该篇博客https blog csdn net qq 34935373 article details 103481401 实现了通过ROS节点的方式启动ATI sensor 完成配置归零和设置软件矢量偏移 并且获取六轴数据 实时的打印
  • Linux:运行存在的可执行文件提示 No such file or directory

    1 前言 限于作者能力水平 本文可能存在谬误 因此而给读者带来的损失 作者不做任何承诺 2 背景 本文分析基于 linux 4 14 132 上游代码 运行环境为 Ubuntu 16 04 4 LTS QEMU Arm vexpress a
  • HTTP参数污染攻击

    服务器两层架构 服务器端有两个部分 第一部分为tomcat为引擎的jsp型服务器 第二部分为apache为引擎的php服务器 真正提供web服务器的是php服务器 工作流程为 client访问服务器能直接访问到tomcat服务器 然后tom
  • SQL注入系列之ASP+ACCESS手动注入(一)----数字型

    一 access数据库 1 简介 Microsoft Office Access是由微软发布的关系数据库管理系统 它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点 是 Microsoft Offi
  • 分类模块丨前端uniapp微信小程序项目

    小兔鲜儿 分类模块 用户点击左菜单的一级分类 切换右侧对应的二级分类和商品 准备工作 参考效果 商品分类页中的广告位 可复用之前定义的轮播图组件 XtxSwiper 静态结构 商品分类页静态结构 src pages category cat
  • 拷贝构造(深拷贝、浅拷贝)

    一 概念介绍 拷贝构造 拷贝构造函数 又称构造函数 是一种特殊的构造函数 它由编译器调用来完成一些基于同一类的其他对象的构造及初始化 其唯一的形参必须是引用 但并不限制为const 一般普遍的会加上const限制 在类中如果没有显式给出拷贝
  • avalon.js 转义html,avalon模块的内建适配器

    text bindings 第一个传参将强制转换为字符串 假值为 然后变成目标节点的innerText 今天的天气为 require ready more avalon function var viewModel myMessage ob
  • OpenLayer和JSTS空间相交应用

    getAreaData DrawGeometry level const that this 多边形绘制结束后获取空间几何数据传递 获取边界 const drawExtent DrawGeometry getExtent 实例化jsts c
  • [230517] TPO71

    7102 Minoan Palaces 目录 7102 Minoan Palaces 正文 题目 Paragraph 1 问题 1 Paragraph 2 问题 2 Paragraph 3 问题 3 4 Paragraph 4 问题 5 6
  • 极速搭建Hexo博客【 CentOS7 + Node.js + Hexo + Github Pages】

    Hexo是一款流行的博客框架 基于Node js 支持Markdown语法 这篇文章记录我如何完成搭建并部署到Github Pages上 创建虚拟环境 养成隔离项目环境的好习惯 python3 m venv venv blog 创建虚拟环境