hexo部署:创建个人博客并部署到github

2023-11-07

前言

本文详细记录使用hexo搭建并部署个人博客的全过程。

原文地址:https://xuedongyun.cn/post/46487/

创建hexo项目

  • 在有node.js环境的情况下,搭建项目
npm install hexo-cli -g
hexo init blog
cd blog
npm install
  • 以开发模式运行,查看博客基本情况
hexo server
  • 至此hexo就已搭建好了,本地4000端口即可访问

部署到GithubPage

  • 先在github上新建立一个名为"用户名.github.io"的公开仓库
  • 需要安装一个hexo上传github的插件
npm install hexo-deployer-git --save
  • 修改hexo配置文件 _config.yml指定仓库
deploy:
  type: git
  repo: https://github.com/pigeon-dove/pigeon-dove.github.io.git
  branch: master
  • 现在你可以很方便的将项目部署到github了,以下是几个常用命令
hexo deploy		# hexo d,部署
hexo server		# hexo s,本地服务器预览
hexo generate	# hexo g,构建项目静态文件,输出到/public
hexo clean		# hexo c,清除构建的静态文件
  • 我们可以通过hexo server在本地预览我们的网站
  • 也可以先hexo generate将项目打包到/public目录,再hexo deploy推送到github仓库中

问题:GitHub Page访问404

  • 我这里遇到了访问pigeon-dove.github.io报404的问题,最后发现是没有开启GitHub Pages
  • 需要在仓库中点击about旁边的齿轮按钮进入设置,然后在Edit repository details中勾选"Use your GitHub Pages website"
  • 现在你可以通过username.github.io访问你的网页了

更换主题

  • 我个人是不太喜欢hexo默认主题的样式的,可以前往https://hexo.io/themes/ 挑选自己中意的主题
  • 我最终选择了https://redefine.ohevan.com/ 主题,使用方法也很简单,按照说明进行即可
cd blog
npm install hexo-theme-redefine@latest
git clone https://github.com/EvanNotFound/hexo-theme-redefine.git themes/redefine
  • 按照要求,在项目底层目录创建 _config.redefine.yml配置文件,其中我的配置文件如下
# 更多配置查看官方文档:https://redefine-docs.ohevan.com/
info:
  title: 冬云的博客
  author: 布鸽不鸽
  url: https://pigeon-dove.github.io
defaults:
  avatar: /images/head.jpg
  favicon: /images/favicon.ico
home_banner:
  title: 程序员的个人修养
  subtitle:
    text: ["Hello World!", "Across the Great Wall we can reach every corner in the world"]
    typing_speed: 50
  image:
    light: /images/bg.jpg
footer:
  start: 2022/4/19 20:56:00
  • 最后在 _config.yml中配置即可
theme: redefine

写文章

  • hexo会在 source/_posts中创建md文件
hexo new "博客标题"
  • 使用markdown软件正常写文章即可,个人强烈安利 typora这款软件,写完部署即可
hexo g	# 将前端项目生成到/public
hexo d	# 将生成的项目部署到github

关于图片处理

  • hexo中一个比较简单的处理图片存储的方式,就是把所有需要的资源放在 /source/images文件夹中,然后在markdown中引用
![](/images/image.png)
  • 但这样显然不方便管理,我们可以在 _config.yml中打开文章资源文件夹功能
post_asset_folder: true
  • 这样每次创建文章时,就会有一个和文章一样名字的文件夹。图片放置其中,markdown通过相对路径引用即可

typora中图片自动存储

  • 如果你使用typora编辑markdown的话,可以在文件->偏好设置->图像中,设置插入图像时复制到指定路径,将路径修改为./${filename}
  • 这样在写文章时,可以很方便的随时粘贴图片
  • 此时还有一个问题,typora中图片 ![](./name/example.png)需要写前缀,但是hexo中则是 ![](./example.png)。当然,其实可以写完文章后搜索,全部替换。但我个人还是更推荐使用图床管理所有的图片,让markdown文件成为纯文本文件。我之前写过一篇图床的相关博客,可以参考:搭建个人图床

结束

  • 最终看一下部署后的样子吧,博客地址https://pigeon-dove.github.io/

image-20230419204623211

image-20230419204521714

参考文档

https://hexo.io/zh-cn/docs/

https://redefine-docs.ohevan.com/getting-started

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

hexo部署:创建个人博客并部署到github 的相关文章

  • 全局 Git 忽略

    我想将 Git 设置为全局忽略某些文件 我添加了一个 gitignore文件到我的主目录 Users me 并且我添加了以下行 tmproj 但它并没有忽略这种类型的文件 知道我做错了什么吗 您需要设置您的全局core excludesfi
  • Git 将合并恢复到特定父级

    我有一个 git 存储库 但在恢复合并时遇到问题 当前哈希为 0ce2ca0b35f59af267241cf4d40d16a3e13ba6f3 它有两个父母 df1acf5f54426d30f12c6b4558c3dd922297aae3
  • GIT Pull 删除了我的提交

    在 git pull 之后 我已经完成了 git Reset 以在合并之前撤消与提交 ID 的合并 不知何故 我的整个提交都消失了 而且我也无法在历史记录中看到该提交 但我有提交 id 在 git show 命令上我可以看到我的更改 我如何
  • 改进 IntelliJ 注释(git Blame)

    我想改进 注释选项 右键单击代码行号冒号 gt 注释 它类似于 gitblame 但集成到 IntelliJ 1 这可能吗 通过插件或 IntelliJ 文件的原始修改 还有其他什么吗 2 我使用的是 Android Studio 基于 I
  • 为什么 iTerm2 中不显示 git 颜色

    所以我有我的 gitconfig 设置来处理颜色 在终端中它工作得很好 看起来也不错 然而 在 iTerm2 中 除非我为 git 设置反向属性 否则我的 gitconfig 根本不会显示颜色 然后它们就出现了 但是谁喜欢相反的颜色呢 为什
  • 如果检测到更改中的特定短语,如何阻止 git commit?

    我注意到开发人员倾向于做的一些模式 例如使用以下代码提交 javascript 测试fdescribe or fit留在其中 这意味着只有一个测试 套件将运行 通常是在审查阶段发现的 但最好尽早发现这些小事情 想知道是否有一种方法可以配置
  • 当存储在变量中时,Git 提交消息变得混乱[重复]

    这个问题在这里已经有答案了 我有一个 Git 提交 其中有一个摘要 然后是一些描述 所以当我看到提交消息时git log format B n 1
  • 使用 api 列出 github 上的所有 Java 存储库

    我正在尝试获取特定语言 例如 Java 的所有 github 存储库的列表 而不通过任何特定关键字缩小搜索范围 最好 我想直接从curl 执行此操作 无需编写脚本 问题是我尝试格式化 API URL 但没有找到正确的 URL 其中包括lan
  • 比较 2 次提交

    我没有找到任何关于获取两个文件之间差异的文档 我使用下面的代码使用坚固的方式提交文件 repo Rugged Repository new reponame email protected cdn cgi l email protectio
  • Git 更新文件时更改默认 umask

    我的 Git 有问题 我在 Google 和 StackOverflow 中搜索了解决方案 但没有任何帮助 问题是 每次 git 更新工作目录中的某些文件时 当我签出分支或合并分支等时 文件权限都会更改 以便添加 可写到组 标志 如果该文件
  • 致命错误:找不到“Fabric/Fabric.h”文件

    我正在使用 xcode 6 3 1 OSX 10 10 3 并且我已经在本地系统上成功配置了 crashlytics 它工作正常 并通过 Fabric 应用程序发布构建 但是当我将相同的代码库转移到 teamcity 时 它向我显示以下错误
  • 如何在 gitolite 中安装钩子

    我已阅读全部关于钩子的文档 https github com sitaramc gitolite blob pu doc 2 admin mkd using hooks similar https stackoverflow com que
  • github 网络图查看器的替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我单击 github 上的 forks 按钮时 我想获得一个摘要 这就是我使用网络图查看器获得的结果 但它并不完全理想 我会做什么ide
  • 空提交的 Git 补丁

    我创建一个空提交 git commit allow empty m something important 有时它很有用 例如协调 2 个 或更多 不同的 git 树 然而 当我 git format patch 空提交被省略 因为它们不与
  • Git:从远程获取特定对象

    在工作中我们必须应对一个非常庞大的 git 存储库 90Go 在尝试调整本地副本上的一些内容后 我的包文件出现错误 尝试解压它 我可能删除了一些目标文件 例如 gt git GC 错误 无法读取 af9ed8 snip 致命 坏树对象 af
  • Git 粒度——解决一行内的差异

    git 基于行的粒度或 diff 粒度是否可以增加到单词 字母分辨率 每行多条语句或使用 git 编写纯文本是值得的 根据评论重新阅读问题时 我想我明白了您最初的意思 所以我将给出一个真正的答案 与伊斯梅尔 巴达维的一行评论 https s
  • git:推送单个提交

    假设我进行了多次提交 并希望挑选哪些提交到远程存储库 我该怎么做 在ascii中 C1 gt C2 gt C3 gt C4 我想推C2和C4 通过变基 重置 推送然后重置进行重新排序是否有效 C1 gt C2 gt C3 gt C4 gt
  • git 列出所有可用命令

    有没有命令可以显示 GIT 中所有可用命令的列表 有git help但它显示 usage git version exec path
  • 如何使用 GitLab 管道中的密钥通过 SSH 连接到目标服务器?

    当 GitLab 管道成功时 我想通过 SSH 使用公钥连接到服务器 正如我所看到的 我需要在 GitLab 端使用 ssh keygen 生成一个密钥并将其添加到我想要连接的服务器上 我可以在管道期间生成密钥 但由于公钥未添加到目标服务器
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修

随机推荐

  • 【c++ 之 多态】

    目录 前言 多态 认识多态 多态的定义与实现 构成多态的条件 虚函数 1 协变 基类与派生类虚函数返回值不同 2 析构函数的重写 c 11 两个虚函数修饰关键字 final override 重载 重写 重定义再理解 抽象类 抽象类的概念
  • 飞书“蒙冤”,还是舆论有噪声?

    飞书遭微信大范围屏蔽 添加好友 共享文档等功能遭禁 初次看到这个消息的时候并没有过于惊讶 毕竟头条系和腾讯的 摩擦 早已是公关圈老生常谈的话题 双方的较量从2017年底至今 已是3年持久战 这次的较量又有些不同 有人大肆渲染飞书在帮助中小企
  • python绘制三维图

    作者 桂 时间 2017 04 27 23 24 55 链接 http www cnblogs com xingshansi p 6777945 html 本文仅仅梳理最基本的绘图方法 一 初始化 假设已经安装了matplotlib工具包
  • Hadoop集群的9870页面,DataNode启动不了的解决办法

    原因 多次格式化hdfs namenode format的操作 配置文件错误或者说修改过master配置没有进行格式化后续操作
  • Android平台GB28181设备接入端如何实时更新经纬度实现国标平台侧电子地图位置标注

    技术背景 我们在做GB28181设备接入端的时候 其中有个功能 不难但非常重要 那就是GB28181实时位置的订阅 mobileposition subscribe 和上报 notify 特别是执法记录仪 智能安全帽 车载终端等场景下 现场
  • mysql show variables sql_mode_MySQL的三种常见sql_mode

    MySQL数据库的中有一个环境变量sql mode 定义了mysql应该支持的sql语法 数据校验等 我们可以通过以下方式查看当前数据库使用的sql mode mysql gt select sql mode sql mode STRICT
  • 投稿指南【NO.12_8】【极易投中】核心期刊投稿(组合机床与自动化加工技术)

    近期有不少同学咨询投稿期刊的问题 大部分院校的研究生都有发学术论文的要求 少部分要求高的甚至需要SCI或者多篇核心期刊论文才可以毕业 但是核心期刊要求论文质量高且审稿周期长 所以本博客梳理一些计算机特别是人工智能相关的期刊 供大家参考投稿
  • 可视化笔记3--matplotlib 常见图形绘制3

    可视化笔记3 matplotlib 常见图形绘制3 接着上一篇博文 继续简单学习了下matplotlib绘图功能 基本包括 图片保存及工具栏使用 区域填充 形状绘制 图形美化 绘制极坐标 绘制积分函数 散点和条形图综合案例 相应学习笔记分享
  • 什么是HIS,以及HIS的作用,特点,组成部分

    什么叫HIS HIS系统定制开发服务 HIS系统作用 HIS系统开发价格 HIS系统的主要组成部分 HIS系统的基本概述 HIS 即Hospital Information System 直译为中文就是医院信息系统利用计算机软硬件技术 网络
  • VSCode搭建STM32开发环境

    废话不多说 直接步入正题 所需软件如下 GNU Arm Embedded Toolchain Mingw w64 make openocd STM32CubeMx VSCode 一 环境篇 1 GNU Arm Embedded Toolch
  • OpenCV与图像算法笔记

    本博客为 OpenCV算法精解 基于Python与C 一书 参阅源代码链接 的阅读笔记 根据理解对书中绝大多数算法做了总结和描述 对Numpy较为熟悉 Python方面仅对与C 不同的注意事项做了标注 书作者整体按照冈萨雷斯的经典教材 数字
  • CDN架构

    CDN公司在整个互联网中部署了数以百计的节点 Cache服务器集群 这些Cache服务器都分布在各个网络运营商的IDC机房中 位置尽量靠近用户网络 CDN系统将内容从源站复制到各个节点 在内容提供者更新内容时 CDN系统将更新后的内容重新分
  • 模板的全特化与偏特化

    模板为什么要特化 因为编译器认为 对于特定的类型 如果你能对某一功能更好的实现 那么就该听你的 模板分为类模板与函数模板 特化分为全特化与偏特化 全特化就是限定死模板实现的具体类型 偏特化就是如果这个模板有多个类型 那么只限定其中的一部分
  • 基于Verilog HDL 和FPGA的寻线小车设计代码

    刚进实验室的第一个项目 做一个寻线小车 我就用FPGA芯片尝试做了一个 用到的零件有 车模一个 一块L298N驱动模块 一块cyclone IV芯片 具体型号是EP4CE6E22C8N 四个电机 一个电源 一个四灰度寻迹模块 或者红外寻迹模
  • 使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

    tiktok网上下载的short视频是webm格式的 有些程序无法处理该程序 比如roop程序 本文介绍了如何使用wxPython库创建一个简单的GUI应用程序 用于将WebM文件转换为MP4文件 这个应用程序使用Python编写 通过调用
  • 对eureka,ribbon,feign和负载均衡的理解

    以下是个人理解 仅供参考 eureka获取ip和端口的方法 GetMapping test public String Test String serverName List
  • 简单排序 插入排序详解 C语言入门

    欢迎关注笔者 你的支持是持续更博的最大动力 目录 问题描述 思路 代码 相关内容 其他 问题描述 给n个数按从小到大排序 插入排序 思路 插入排序 把无序部分元素插入有序部分 1 用无序部分的第1个元素 和前面有序部分每一个元素比较 2 如
  • C# WPF在xaml中的数据绑定

    在WPF的绑定中个人分为两种 非集合数据绑定和集合数据绑定 非集合数据绑定 指的是包含数据为单个de控件的数据绑定 而不是有很多子项 例如Button TextBox TextBlock等等的绑定 集合数据绑定 指的是包含很多子项的控件的数
  • 打印机怎么扫描到电脑_电脑连不上打印机怎么办,告诉你解决方法

    打印机的作用是非常强大的 在工作时经常会需要打印一些报表文件什么的 这时就离不开打印机的功能 而想要使用打印机 就必须要连接电脑 但有时电脑连不上打印机怎么办呢 是什么原因造成的呢 1 如果打印机是正常的情况下 就需要看下是否是连接的问题了
  • hexo部署:创建个人博客并部署到github

    前言 本文详细记录使用hexo搭建并部署个人博客的全过程 原文地址 https xuedongyun cn post 46487 创建hexo项目 在有node js环境的情况下 搭建项目 npm install hexo cli g he