Hugo + github 搭建个人博客

前言

很早以前就有想法,搭建一个个人的博客。没有实现的原因:一方面个人的服务器不太安全掉线,欠费,维护起来麻烦,另一方面,文章编辑发布起来也不方便。

后来了解到 github 提供了博客的功能,也一直没有实践。也鉴于上次文章被删,我也就开始实践了起来,有一个备份总好于无

选择什么程序生成

这个是我第一个纠结的地方,我当时把选择集中在三个选项里面:JekyllHexoHugo。当然是一定要支持markdown

针对选择谁这个问题,我也是在网上查了大量的文章:

  • JekyllRuby语言,三个里面最悠久,网上有关的问题,解决办法也比较多。官网主题较多;个人主机搭建的话,这个还是比较好,插件比较多。
  • HexoNodejs生成的。Hexo有一个相对较大的社区,但大多数是非英语人士(来自中国)。。。
  • HugoGo构建的静态站点生成器。它被宣传为“世界上最快的网站构建框架”。属于后起之秀,主题较少。

当时,我纠结了半天。最终决定使用Hugo,主要原因有下:

  1. GO语言是最新的语言;
  2. hugo 是最新的生成器,功能方面也肯定集成了之前其他生成器的优点;
  3. 不用安装,windows下需要一个exe程序,就可以生成静态文件了。这个是我选择他的最关键原因。

选择HUGO主题

  • 只要上面的程序确定了,选择主题相对就比较轻松了。可是选择主题,有个人主观审美在里面,总会有这样那样的不太满意的地方。
  • 我当时在官网上,看了很多主题,都不是特别喜欢,没有一眼就看上的那种。中文官网上更少,估计三十个主题都没有。
  • 心里盘算着,实在不能偷懒,就拿一个改改算了。

最终,我也记不清当时是怎么搜到这个 hugo-theme-jane 主题的,印象中好像是一通乱搜。。。

Hugo生成静态站点

其实这方面网上的文章很多,我这里就不做全面介绍了。推荐参考 中文官方文档

  • 建议使用git submodule clone下载主题,好处就是修改子模块之后只对子模块的版本库产生影响,对父项目的版本库不会产生任何影响,
  • 修改config.toml文件。相当于该站点的hugo配置文件,涉及到博客标题,分页,作者声明等等。
  • shortcodes自定义标签,新增themes/jane/layouts/shortcodes/collapsible.html,类似于博客园的代码折叠标签。
    注意:details 和 summary 是HTML 5 中的新标签。IE,Firefox都不支持
<details>
    <summary style="background-color:#f5f5f5;border:1px solid #ccc;padding:5px;">
        {{ with .Get 0}}{{.}}{{else}}click to expand{{ end }}
    </summary>
    {{.Inner}}
</details>

在文章编辑中使用参考, 效果

{{% collapsible "hugo代码折叠代码" %}}
中间为被折叠的代码
{{% /collapsible %}}
  • 因为主题 jane 是由 nodejs 生成的,如果改了主题的话,需要用node重新生成一下。
我偷懒直接手动修改node生成后的文件,
themes/jane/static/dist/jane.min.css
themes/jane/static/dist/jane.min.css.map
  • 图片的路径在static/images下面,在文章中使用路径,不包含static,例如![show 404 page](/images/testjpg.jpg)
  • 使用 hugo.exe 生成的静态文件,在public目录下,建议不要修改;需要修改的话,改模板文件。

github 发布

  • github上面只有两条规则,仓库{账号名称}.github.io 和一个根目录下的 index.html 文件
  • 在我的github上面创建了三个仓库,
hugo-theme-jane :是直接fork的主题,有修改需求;
mrbenwang.github.io-hugo :这个是有关于 hugo 的仓库;
mrbenwang.github.io :最终的展示静态页面,是最重要的。github 的博客主要是从这里面来读取的。
  • 使用 git submodule 命令:我把 publicthemes/jane 都分别做了不同的git目标;.gitmodules文件内容如下
[submodule "public"]
    path = public
    url = https://github.com/MrBenWang/mrbenwang.github.io.git
[submodule "themes/jane"]
    path = themes/jane
    url = https://github.com/MrBenWang/hugo-theme-jane.git
  • public 或 themes/jane 要在其所在的目录内提交,提交前一定要记得先git checkout master参考链接

这里的坑在于,默认 git submodule update 并不会将 submodule 切到任何 branch,所以,默认下 submodule 的 HEAD 是处于游离状态的 (‘detached HEAD’ state)。所以在修改前,记得一定要用 git checkout master 将当前的 submodule 分支切换到 master,然后才能做修改和提交。

如果你不慎忘记切换到 master 分支,又做了提交,可以用 cherry-pick 命令挽救。具体做法如下:

  1. 用 git checkout master 将 HEAD 从游离状态切换到 master 分支 , 这时候,git 会报 Warning 说有一个提交没有在 branch 上,记住这个提交的 change-id(假如 change-id 为 aaaa)
  2. 用 git cherry-pick aaaa 来将刚刚的提交作用在 master 分支上
  3. 用 git push 将更新提交到远程版本库中

结语

  • 搭建这个时间,有一些久了,记忆有些模糊,中间过程有些遗漏和错误,欢迎指出。
  • github 博客

原文地址:https://www.cnblogs.com/BenAndWang/p/9714527.html

时间: 2024-10-08 17:38:56

Hugo + github 搭建个人博客的相关文章

《Hexo+github搭建个人博客》

<Hexo+github搭建个人博客> 文/冯皓林 完稿:2016.4.22-2016.4.23 注意:本节教程只针对Windows用户.本教程由无人赞助,赞助写出. <Hexo+github搭建个人博客>1 思维导图总览:2 What?2 简介:2 Hexo:2 NodeJs2 Github4 Git5 Github page:5 Markdown6 How?7 环境配置:7 安装Git8 安装Node.js9 安装hexo13 第一步:打开cmd.13 第二步:进入NodeJS

使用Node.js+Hexo+Github搭建个人博客(续)

一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在上篇博文的基础上分别从以下几个方面做简单的后续介绍: 博客相关配置介绍 博客主题 Yilia 配置介绍 如何制作并配置网站缩略图 如何将博客同步到 Github.Coding 中 如何使用 Git 同步 Github 与 Coding 的代码 如何申请域名并作域名解析 如何将域名绑定至 Github.Codi

使用hexo和github搭建个人博客网站

使用hexo+github可以免费.快速地搭建一个静态博客网站,并且使用hexo提供的命令以及git自身的功能可以很便捷地管理博客. 使用github部署静态页面 在了解hexo之前,我们先看看如何使用github部署静态页面. 注册github账号 访问github官网注册一个账号,该流程和一般网站注册账号一样,在此不赘述. 创建一个git仓库 其他项如果需要可以自主填写,这里只填写仓库名,点击Create repository创建仓库. 提交一个测试页面 执行git clone命令将仓库克隆

Hexo和github搭建个人博客 - 朱晨

GitHub账号 mac/pc 环境 12 node.jsgit 创建GitHub仓库 登陆GitHub,创建一个新的Respository Repository name叫做{username}.github.io {username}代表你的GitHub用户名,Repository name一点要叫这个 绑定域名 待定 绑定ssh秘钥 设置git用户名和邮箱 12 git config --global user.name "liuxianan"git config --globa

github搭建个人博客 hexo框架 next主题

之前就想搭建自己的博客,现在终于得以实施. 参考了多篇博客,然后又在虚拟机了往往复复试了好多次, 现在基本搭建完毕. 我是基于hexo博客框架, next主题搭建的博客, 静态网页.   大体就是, 先在本地搭建好整个系统, 然后再提交到github. 因为此篇文章只是捡部分内容说,所以我先列出来我参考的博客,这里谢谢他们的无私分享了. hexo博客框架 + next主题 + 插件等整个流程请参考ezlippi的两篇博客:  https://www.ezlippi.com/blog/2015/0

使用hexo+GitHub搭建个人博客的心得(含教程)

Author Email Yaoyao Liu [email protected] 前言 对于广大CS专业的学生和码农,找一个地方写博客,记录一些编程.配置环境.阅读论文的心得体会是一个很常见的习惯.当然想搭建个人博客,就需要找个靠谱的平台,主要就是以下的两种方式: 使用网站提供的博客平台,例如国内的CSDN.博客园:国外的Blogger.Wordpress 自己建站,发布到自己的服务器上,或者发布到GitHub.GitLab.Bitbucket等支持静态网页发布的git平台 针对于第一种方式,

Windows环境下Jekyll+Github搭建个人博客

萌新来讲讲如何使用 Jekyll 搭建个人博客,从安装到配置!炒鸡详细!.原文地址https://zhangmingemma.github.... 介绍 jekyll是一个静态站点生成器,会根据网页源码生成静态文件. 简单.无需数据库,评论功能,不需要不断更新版本,只用关注你的博客内容 静态.只用Markdown(或者Textile).Liquid.HTML&CSS就可以构建可部署的静态网站 博客形态.自定义地址.分类页面.分类博客内容以及自定义的布局设计 使用GitHub Pages可以运行j

通过github搭建个人博客

今天突发奇想,想用GitHub搭建一个个人博客,就大概学习了一下,特此记录. 其实非常简单,首先要知道,这里是通过GitHub Pages进行搭建的,什么?不知道什么是GitHub Pages?Github Pages设计的初衷是为托管在GitHub上的项目提供介绍页面,开发者们可以通过GitHub Pages为他们的每一个项目创建一个用于介绍该项目的静态网站,因为它是免费的,所以我们可以拿来搭建个人网站,不过先明确一下,不同于在服务器上搭建网站,GitHub没有数据库,搭建的也是静态网站,每次

Gridea+GitHub搭建个人博客

某日闲余时间看到一篇介绍Gridea博客平台的文章,大概看了一下觉得此平台还不错,随即自己进入Gridea官网瞅了瞅.哇,这搭建过程也太简单了吧,比Hexo博客搭建要容易很多,而且还有后台管理客户端,很适合小白用户入门.最重要的是不用自己购买域名!可以直接与GitHub或Coding配合展示页面.下面简单介绍下Gridea+GitHub搭建及使用流程,有兴趣的同学可以试试看哦. Gridea简介: 官网:https://gridea.dev/GitHub主页:https://github.com