Github Page 个人主页——Hexo博客

2023-05-16

原文地址

一、前言

在前三篇文章介绍了如何部署一个属于自己的站点网页,但是只有个人主页有些单调,Github Page 的本质是部署web站点,所以不仅可以部署个人主页,还可以将自己的博客部署到上面,本文将部署一个简单 Hexo 系统到 Github。

1.1 涉及到的知识

  1. Git 基本指令
  2. Node.js 基本指令
  3. GIthub 免密 SSH 登录
  4. LeandCloud 使用

1.2 Hexo 是什么?

Hexo 是一个快速, 简洁且高效的博客框架,使用 Markdown 语法写博文,Hexo 将 Markdown 文档转换成静态页面。了解更多

Hexo 官网

1.3 Node.js 是什么?

基于 Chrome V8 引擎的 Javascript 运行环境。了解更多

Node.js 官网

二、环境搭建

2.1 安装 Git

一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。了解更多

Git官网
基础使用
Git安装教程
Git下载链接

2.2 安装 Node.js

在官网选择长期维护版(LTS)下载安装就行。官网下载链接

安装好后,使用 安装 Git 自带的 Git Bash 输入命令测试,显示版本号就安装成功了

node -v 
npm -v

2.3 安装 Hexo 及测试

2.3.1 安装

  1. 创建一个文件夹 Blog
  2. 在这个文件夹下,右键用 Git Bash 打开。
  3. 安装 Hexo
    npm install -g hexo-cli
    hexo -v # 查看版本
    

2.3.2初始化

  1. 在文件夹 Blog 下输入
    hexo init myBlog #名字随意
    
  2. 安装部署工具、依赖等
    npm install     # 后面不用跟包名
    npm install hexo-deployer-git --save   # 部署工具
    
  3. 新建完成后,指定文件夹目录下有:
    • node_modules: 依赖包
    • public:存放生成的页面
    • scaffolds:生成文章的一些模板
    • source:用来存放你的文章
    • themes:主题
    • ** _config.yml: 博客的配置文件 **

2.3.3 测试

hexo g    # 本地部署
hexo s    # 启动本地服务

在浏览器输入 http://localhost:4000/ 就可以看到你生成的博客了。

2.3.4 配置

在文件根目录下的 _config.yml 是整个 Hexo 框架的配置文件。可以在里面修改一些配置和基本的显示信息。详细可参考 官方的配置
配置好后保存,重新输入测试命令,就可以查看了

hexo g
hexo s

2.4 创建 Github 公开仓库

这部分在前面文章介绍过,步骤一样。Github Page 个人主页——项目部署

三、文章发布

3.1 部署项目到 Github 仓库

  1. 将hexo生成的文章部署到GitHub上,打开配置文件 _config.yml,翻到最后,修改 用户名仓库名 为您的(直接复制仓库的 ssh 链接地址)
    deploy:
      type: git
      repo: git@github.com:用户名/仓库名.git
      branch: master
    
  2. 发布前清除一下 -> 部署 -> 发布,需要输入账号密码
    hexo clean
    hexo g
    hexo d
    

3.2 配置 SSH 免密登录 Github

  1. 运行命令生成 .ssh密钥目录
ssh-keygen -t rsa -C "用于生成的sshkey的名称"

三次回车,即可生成 ssh key,在用户目录下会生成 .shh 的文件夹
2. 添加公钥到 Github
Github 在 Settings 里面找到 SSH and GPS keys,将 .pub 文件的内容粘贴进去
3. 测试是否成功

ssh -T git@github.com

之后发布就不用账号密码了

四、博客主题

4.1 Hexo 主题大全

官方主题库

主题
选择自己喜欢的主题,在 Github 将它下载下来,然后放到 theme 文件夹下

4.2 配置 Fluid 主题

博主是使用 Fluid 这款主题。

  1. 进入项目文件夹,修改 _config.yml ,把 theme 换成那个主题文件夹的名字,如下
    theme: fluid
    
  2. 进入主题Fluid文件夹,我这里是 项目路径\themes\fluid ,有一个配置文件也叫 _config.yml ,这个配置文件是修改你整个主题的配置文件。Hexo Fluid 配置指南

五、评论系统

5.1 注册 LeanCloud 国际版

LeanCloud
注册完以后需要创建一个应用,名字可以随便起,然后 进入应用->设置
应用凭证 获取你的 AppIDAppKey
app
安全中心 配置如下,在 安全中心 -> Web 安全域名 把你的域名加进去
安全中心

5.2 配置 Valine 到博客系统

配置 项目路径\themes\fluid 下的 _config.yml 配置文件

  1. 找到 post -> comments 开启评论功能,类型 valine
    post:
    	# 评论插件
    	comments:
    	    enable: true
    	    type: valine
    
  2. 找到 valine 配置 AppID 、 AppKey 和 serverURLs(其他默认)
    # Valine
    # 基于 LeanCloud
    valine:
      appId: 你的 AppID
      appKey: 你的 AppKey
      serverURLs: '你的服务器地址'
    
    注意: 这里的服务器地址不填会显示不出评论

六、阅读量/访问量统计

6.1 网页访问统计

web_analytics:  # 网页访问统计
  enable: true
  leancloud:
    app_id: 你的 AppID
    app_key: 你的 AppKey

6.2 展示网站的 PV、UV 统计数

statistics:
	enable: true
	source: "leancloud"

七、结语

7.1 姊妹篇文章

Github Page 个人主页——项目部署
Github Page 个人主页——自定义域名
Github Page 个人主页——CDN加速

八、参考文章

  1. hexo史上最全搭建教程
  2. 关于Hexo Valine 国际版 LeandCloud 评论失效的问题
  3. 为你的Hexo加上评论系统-Valine
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Github Page 个人主页——Hexo博客 的相关文章

  • 支持 DB2 和 IBM Cloud php 应用程序的 github php buildpack

    我们在 IBM Cloud 上有一个连接到 DB2 实例 也在 IBM Cloud 上 的 PHP 应用程序 该应用程序已经完美运行了 2 年 截至 9 月 16 日 我们使用构建包 https github com ibmdb php b
  • 如何重新启动 git/GitHub 项目?

    我已经在 GitHub 上托管的项目上工作了一段时间 然而 我现在决定以不同的方式重写我的应用程序 并从头开始 我重命名了旧的本地存储库并创建了一个新的 如何使用新存储库替换 GitHub 上托管的存储库 我真的不在乎我的旧历史和问题是否存
  • 是否有 Swift 代码的 Github markdown 语言标识符?

    我在用着https jbt github io markdown editor https jbt github io markdown editor在线文档工具 我想知道是否有一个标识符可以识别 swift 语法元素 谢谢 swift s
  • 如何在 GitHub Actions 工作流程中获取拉取请求编号

    我想访问 Github Actions 工作流程中的 Pull Request 编号 我可以访问GITHUB REF可用的环境变量 尽管在拉取请求操作中它具有以下值 refs pull 125 merge 我只需要提取125 我发现了一个类
  • 如何从 Github 和 Bitbucket 上的 git 删除提交

    我不小心从 Django 项目中的 idea 目录中推送了文件 这些文件位于 gitignore 文件中 我正在尝试从我的 bitbucket 存储库中完全删除提交 因为我正在与该项目一起工作的其他人 并且他无法在不影响他自己的 idea
  • git 仅克隆具有特定扩展名的文件

    有没有办法只克隆具有特定扩展名的文件 例如 只克隆 sh 文件 我知道我可以克隆整个文件 然后删除剩余的文件 但我不想浪费 谢谢 None
  • GitHub 将多个提交合并为一个

    我搜索了很多但没有找到类似的问题 假设我有两个分支 分支 S 稳定 和分支 E 实验 实验是从 稳定 分支创建的 我一直在 E 分支上执行 git add A git commit m my new commit git push orig
  • 在某些条件下使用钩子自动将一个分支合并到另一个分支?

    我的 github 存储库中有两个分支 master and dev分支 我有一个需要合并的要求master分支到dev在以下条件下分支 一旦 PR 直接合并到 master 分支 那么我需要自动将 master 分支合并回 dev 分支
  • GitHub Atom - 删除编辑器中的中心线

    我刚刚下载了 GitHub Atom Editor 正在对其进行自定义 但我无法删除编辑器中间的那行 有人帮我看看如何删除那条线吗 该行由wrap guide 包提供 您可以使用以下选项来删除该行 Option 1 禁用换行指南包裹 去At
  • Github 贡献日历日开始时间

    几天前 Github 推出了他们的新功能 贡献 https github com blog 1360 introducing contributions 我有一个疑问 这个日历的一天开始时间是几点 是使用我的本地时间还是 UTC 如果它使用
  • 如何使用多个 ssh 密钥 [重复]

    这个问题在这里已经有答案了 GitHub 用户 我是 github 的新手 并且在 git 设置方面遇到一些问题 我在 github 上有 2 个不同用户的帐户 并且我在系统上设置了 git 2 次 First ssh文件夹 像往常一样 包
  • “此拉取请求包含必须解决的合并冲突。”

    我在 PR 中遇到了这个错误 但是当我git status它说nothing to commit working directory clean 那是在 PR 的分支上 On branch pr12 nothing to commit wo
  • 如何将本地不同的 Git 分支推送到 Heroku/master

    Heroku 的政策是忽略除 master 之外的所有分支 虽然我确信 Heroku 的设计者对这个政策有很好的理由 我猜测是为了存储和性能优化 但对我作为开发人员来说 结果是无论我正在研究什么本地主题分支 我都想要一种简单的方法将 Her
  • 推送时出现 git 错误 来自服务器的空回复

    我一直在尝试对现有存储库进行新的更改 但是 我不断收到以下错误 MacBook Pro spa git push origin master XX 的用户名 致命密码 无法访问 https github com XXXX https git
  • Git 日志列表提交不包括从第一个分支中精心挑选的内容

    例如我有这个提交历史记录 让我们说在某个时刻release1几天后发布到生产环境 release2分支被释放 branch relase1包含从 master 精心挑选的 2 个提交 4 和 5 branch release2包含 2 个提
  • Git 推送失败(Github/RStudio)

    我过去曾在这台机器上成功使用过 Git 但突然间我无法再将我的提交推送到 Github 存储库 我对 Git 工具链所做的最后一次更改是除了 Windows 客户端的 Github 之外还安装了 Git 1 8 5 2 除非我已经启动了 G
  • 在 Google Cloud Functions 中安装私有 GitHub npm 包不起作用

    我正在尝试将微服务部署到 GCF 它依赖于私有 GitHub 托管的包 为了访问该包 我向该函数添加了一个 npmrc 文件 如下所述here https cloud google com functions docs writing sp
  • 带有 OAuth 访问令牌的 GitHub 克隆

    在脚本中 我尝试使用 OAuth 令牌克隆 GitHub 存储库 根据本教程 https github com blog 1270 easier builds and deployments using git over https and
  • 使用curl模拟github服务钩子

    我有一个服务监听 github 服务挂钩 以执行自动部署 有时我需要手动触发 无需 github 干预 为此 我正在模拟 github 发送的 POST 请求 post receive URLs 我的数据 my json 看起来像这样 gi
  • 为什么我的 git 自动更新 Expect 脚本不起作用?

    我想制作一个脚本来更新我所有的 GitHub 存储库 我只需要输入我的用户名和密码 脚本将遍历存储库列表 调用git push并通过补充 Expect 脚本提供必要的信息 这是我的 bash 脚本 bin bash echo Updatin

随机推荐

  • 设置文件夹共享

    本文使用共享文件夹名称为 xff1a test 1 右键文件夹 xff0c 点击 属性 xff0c 菜单栏选择 共享 xff0c 点击下面的 共享 S 按钮 2 选择要共享的用户 xff08 此处选择 Everyone xff0c 可以根据
  • Ubuntu16.04的图形化界面无法启动问题

    昨晚在 Ubuntu 下试图安装笔记本触控板的驱动的时候 xff0c 突然 Ubuntu 的图形化界面不见了 xff0c 尝试了 Ctrl 43 Alt 43 F1 F2 F3 无果 xff0c 又在一些博客的指导下尝试在命令行使用 sta
  • Shell脚本——设置ssh免密

    功能 xff1a 实现多台linux主机之间root用户的免密设置 主机名 xff1a node101 node106 在node101上切换至root用户 xff0c 编写以下脚本内容 xff1a bin bash 使用root用户 在n
  • 解析ET6接入ILRuntime实现热更

    1 介绍 ILRuntime项目为基于C 的平台 xff08 例如Unity xff09 提供了一个纯C 实现 xff0c 快速 方便且可靠的IL运行时 xff0c 使得能够在不支持JIT的硬件环境 xff08 如iOS xff09 能够实
  • Python 实现用网页展示多个结果表数据

    Python 实现用网页展示多个表格的数据 前言 一 效果图 二 代码 1 引入库 2 函数定义 3 主程序 前言 实现方法是利用pandas to html 与表格展示的美化相结合 使数据展示更美观 一 效果图 示例 二 代码 本文将使用
  • error while loading shared libraries

    问题描述 我在调试配置一个Linux计算环境的程序时候 xff0c 安装配置好相关的库 xff0c 但是在执行运行程序命令时候报错如下 xff1a error span class token keyword while span load
  • 要求在数组中间删除一个数字

    span class token comment 要求在数组中间删除一个数字 span span class token keyword var span arr span class token operator 61 span span
  • Ubuntu常见问题及解决办法

    在刚开始使用Ubuntu系统时 xff0c 总会遇到各种各样的小问题 xff0c 这里整理了一些遇到的问题及解决办法 xff0c 不断更新中 xff01 xff01 xff01 目录 一 创建文件夹权限不够 1 1 问题描述 1 2 解决办
  • 计算机网络考试题库

    第1章 计算机网络概论 1 xff0e 在20世纪50年代 xff0c 和 xff08 xff09 技术的互相结合 xff0c 为计算机网络的产生奠定了理论基础 2 xff0e 从传输范围的角度来划分计算机网络 xff0c 计算机网络可以分
  • Spring,搭建Spring环境

    控制反转 xff1a 控制了对象的创建 xff0c 反转 xff1a 反转的是获取对象的方式 xff0c 从自己创建对象变为由Spring工厂推送 1 搭建Spring环境 xff0c 导入依赖 spring aop xff1a 开发AOP
  • 【Vxworks操作系统】系统介绍与系统组成-NO.1

    目录 1 VxWorks系统介绍 2 VxWorks特点 3 vxWorks操作系统的组成 1 xff09 实时操作系统核心Wind 2 xff09 I O系统 3 xff09 文件系统 4 xff09 板级支持包 xff08 BSP xf
  • 【Vxworks操作系统】实时多任务介绍-NO.2

    目录 实时多任务 1 1 任务生命周期管理 1 2 任务状态控制 1 3 任务调度 1 4 用户接口 结语 xff1a 实时操作系统是基于多任务和任务间通信的概念的操作系统 xff0c 多任务环境允许一个实时应用由一组各自独立的任务组成 x
  • HDU 6298(数学)

    题意是给出一个数 xff0c 找出这个数的三个因子且这三个因子的和等于这个数 xff0c 输出满足条件的乘积最大的一组因子的乘积 xff0c 如果不存在这样的因子 xff0c 就输出 1 第一次 wa 了 xff0c 因为把题目中的 x n
  • libevent的http服务详解

    libevent的http服务详解 即远程调用 xff0c 得到一个call ID然后验证外部远程参数 span class token function evrpc request cb span span class token pun
  • 创建物理卷报错Can‘t open /dev/sdb1 exclusively. Mounted filesystem?以及对应的解决方法

    创建物理卷报错Can 39 t open dev sdb1 exclusively Mounted filesystem 以及对应的解决方法 一 xff1a 报错二 xff1a 解决方法 一 xff1a 报错 1 添加一块硬盘 2 对硬盘分
  • windows server 2012r2 开启远程桌面

    电脑 右键 属性 远程设置 允许远程连接此计算机 勾选 选择用户 添加administrator 开始 运行 gpedit msc 计算机配置 管理模板 Windows组件 远程桌面服务 连接 允许用户通过使用远程桌面服务进行远程连接 打开
  • Obsidian 多端同步实现

    原文地址 1 前言 如何将 windows 和 android 端的 obsidian 同步 xff1f 可以选择官方的 Obsidian Sync 服务 xff0c 或者使用 FolderSync 等同步工具 本文介绍一种基于 Git 的
  • Github Page 个人主页——项目部署

    本人博客 一 前言 想搭建自己的网站吗 xff1f 通常需要买一台服务器 xff0c 购买一个域名进行备案后 xff0c 解析到自己的服务器 xff0c 还要搭建环境 xff0c 后期运维等等 本文提供一种基于 Github Page 服务
  • Github Page 个人主页——CDN加速

    原文地址 1 前言 前两篇文章介绍了 如何部署静态网站 以及 给网站自定义域名 xff0c 到目前为止 xff0c 您已经拥有一个使用自己的域名的网站了 在访问个人网页时 xff0c 实质上是去Github的服务器上取资源的 xff0c 但
  • Github Page 个人主页——Hexo博客

    原文地址 一 前言 在前三篇文章介绍了如何部署一个属于自己的站点网页 xff0c 但是只有个人主页有些单调 xff0c Github Page 的本质是部署web站点 xff0c 所以不仅可以部署个人主页 xff0c 还可以将自己的博客部署