我们无法选择生活的样子,但我们可以记下来。

博客的开始

其实,一切都是为了更好的装逼。好吧,我着相了。

最开始想做一个自己博客,主要是因为看到了很多人都有,觉得自己没有太 Low 了。于是申请了 CSDN 的用户,但是太丑了,于是又申请了博客园,感觉这些都不是我想要的,而做为一个 Emacser 不使用 Github 搭建一个自己的博客,感觉就已经落伍了。

于是就有这最初的一个,相当简陋的利用 Emacs 的 Org-mode 搭建的博客,后来看了 Org-page 这个包,但是,我配置不好啊!为什么为什么!

最后,从 Hugo 和 Hexo 之间,我选择了 Hexo,虽然 Hugo 在 Windows 上使用起来更方便,但是我还是觉得 Hexo 更适合我。

利用 Hexo 的坑

  1. 有些插件需要翻墙,有些不用,我也不记得哪个用哪个不用了,实在不行可以使用淘宝的

    npm 源进行安装。

  2. 环境配置好之后,最好更新一下模板,把一些常用的内容写到 Hexo

    的模板里,这样在后续的使用中,可以快速的增加标签、分类和简介等内容。

  3. 学习 Markdown , 这个并不是一个坑,而是一个忠告,作为一个常年游荡在

    GitHub 的好同志来说,但是对于一个 Emacser 来说,我更喜欢 Org-mode

    ,但是 Org-mode 并不能直接用来发布 Hexo

    博客,有些人会说可以利用一些工具,但是与其增加一些工具,不如学习一下

    Markdown, 这根本用不了几分钟,虽然 Org-mode

    很强大(忍不住安利一波),但是 Markdown

    作为一个大众的标记语言,简单的语法还是需要我们掌握的。

  4. 记住常用的命令

    • hexo new markdown_file 新建文章
    • hexo new page html_file 新建页面
    • hexo generate 生成静态页面到 public 目录
    • hexo server 开启预览访问端口,4000, Ctrl+c 关闭 server
    • hexo deploy 将 .deploy 目录部署到 GitHub

这里需要配置 deploy 的项目地址并安装了 hexo-deployer-git 插件,才能使用这个功能

  1. 最后一个坑,挑选一个合适的主题,好吧,我选择了很久——大概四天吧,可能很多人能非常快的决定,但是对于我来说,把所有好看的主题都看一遍,才是我想做的事,最后我选择了 Next 主题,简单美观,还有非常齐全的配置说明

  2. 部署使用的命令有三个 hexo clean / hexo generate / hexo deploy

    ,这三个命令之后,就可以登录你的静态博客页面去查看了。

博客的生活

我很喜欢调试自己的博客,但是写博客就不是那么喜欢了,但是我希望能养成一个定期写博客的习惯。

所以,我需要博客,主要是用来装...咳,主要是用来记录我们的生活、工作的内容,这样在下次使用的时候,就能更好的做到了。

Hexo 相关安装

在几次试验之后,Node.js 环境还是使用 nvm

管理比较好用,下载的时候可以使用 npm --registry=https://registry.npm.taobao.org install 进行安装下面的模块。

npm install -g hexo-cli
npm install hexo-deployer-git --save
npm install hexo-generator-search --save
npm install hexo-generator-feed --save
npm install -g tern
npm install -g js-beautify
npm install -g jshint
npm install -g js-yaml
npm install hexo-renderer-jade --save
npm install hexo-renderer-sass --save

hugo

Hugo 是由 Go 语言实现的一个 Static Site Generator 工具,特点就是快,而且默认是支持 Org mode 这种文本的。

虽然对于 hexo 而言少了许多好看的主题,但是对于 Org mode 的默认支持让我有了决心一用的冲动。

在使用了一段时间之后,发现这个工具完美的解决了我所有的问题,并能让我专心于博客写作本身而不是工具,虽然有一些不方便,但最后还是决定继续使用,而且要减少对工具本身的使用,而加强写作本身。

在长时间的使用之后,发现 HugoOrg mode 的支持也比较一般,对于一些比较好用的特性,功能都不支持,最好的方案还是从 Org 转成 Markdown ,所以在最终使用 ox-hugo 工具配合 Hugo 使用,然后通过 capture 功能直接生成对应的博客文章,方便快捷。

ox-hugo 配置

使用 ox-hugo 主要需要配置两个内容,一是将 ox-hugo 增加到配置中,然后是在 启动 org-capture 的时候,增加一个新的选项,可以将自动新增一篇文章。

(use-package ox-hugo
:after ox) (with-eval-after-load 'org-capture
(defun org-hugo-new-subtree-post-capture-template ()
"Return `org-capture' template string for new Hugo post."
(let* ((date (format-time-string (org-time-stamp-format :long :inactive) (org-current-time)))
(title (read-from-minibuffer "Post Title: "))
(file-name (read-from-minibuffer "File Name: "))
(fname (org-hugo-slug file-name)))
(mapconcat #'identity
`(
,(concat "* TODO " title)
":PROPERTIES:"
,(concat ":EXPORT_FILE_NAME: " fname)
,(concat ":EXPORT_DATE: " date)
":END:"
"%?\n")
"\n"))) (add-to-list 'org-capture-templates
'("h"
"Hugo post"
entry
(file "~/workspace/blog/hugo-posts.org")
(function org-hugo-new-subtree-post-capture-template))))

在这里,我是将所有的文章写到对应的一个文件中,然后将文件中的所有内容生成到对应的 hugo 文件夹中。

文件头配置如下:

#+HUGO_BASE_DIR: ~/workspace/blog/content/
#+SEQ_TODO: TODO DRAFT DONE
#+OPTIONS: ^:{}

然后在这个文件中使用导出的快捷键,就可以看到对应的选项了,将 org-export-dispatch 命令绑定到自己的快捷键上就可以看到对应的输出命令。

利用 Hexo 或者 hugo 搭建个人博客的更多相关文章

  1. 利用hexo+github+nodejs搭建自我博客的一天

    放一张比较喜欢的背景图镇楼,伪文艺一波.因为刚刚抱着四个快递从公司大门走到宿舍,快递都比我高,坐电梯的时候电梯里面的灯一闪一闪,电梯还摇晃,上演了一波鬼吹灯,惊魂未定... 说正题:我喜欢的博客应该是 ...

  2. 记自己利用hexo和github搭建个人博客的过程

    --------------------------------------可能我书写的方式跟别人顺序不一样,但这是我的成功经验------------------------------------ ...

  3. 基于 Hexo + GitHub Pages 搭建个人博客(一)

    前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...

  4. 基于 Hexo + GitHub Pages 搭建个人博客(二)

    在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...

  5. 基于 Hexo + GitHub Pages 搭建个人博客(三)

    一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...

  6. 使用Hexo + GitHub Pages 搭建个人博客

    一.前言 之前是在CSDN上写博客的,但是无奈其广告满天飞,还有因为个人不太喜欢CSDN博客里的一些东西,加上看到很多技术大牛都有自己的个人博客,于是乎!便想着搭建一个自己的个人博客.其实之前写博客还 ...

  7. 用hugo搭建个人博客

    这几天研究了用hugo搭建个人博客. 简单的整理了一下. 1.安装hugo(windows 请查看官网介绍 https://gohugo.io/getting-started/installing/) ...

  8. 如何用hugo搭建个人博客

    如何用hugo搭建个人博客 1. 安装 Hugo 点击跳转 Hugo Releases win10 步骤: 下载解压 , 然后添加环境变量 测试: #命令行测试 hugo version 2. 创建站 ...

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

    GitHub账号 mac/pc 环境 12 node.jsgit 创建GitHub仓库 登陆GitHub,创建一个新的Respository Repository name叫做{username}.g ...

随机推荐

  1. scala资料总结,一些小技巧

    scala资料总结,一些小技巧 1.得到每种数据类型所表示的范围 Short.MaxValue 32767 Short.MinValue -32768 Int.MaxValue 2147483647 ...

  2. [转]【译】.NET Core 3.0 中的新变化

    .NET Core 3.0 是 .NET Core 平台的下一主要版本.本文回顾了 .Net Core 发展历史,并展示了它是如何从基本支持 Web 和数据工作负载的版本 1,发展成为能够运行 Web ...

  3. Vue 子组件传父组件

    vue中的传值是个很烦的问题,记录一下自己完成的这个需求. 首先,被引用的称之为子组件,当前页面为父组件,这个不能搞错. 子组件传值,要用到this.$emit. 子组件页面,需要在一个函数中使用th ...

  4. js基础——正则表达式

    1.创建方式: var box = new RegExp('box');//第一个参数字符串 var box = new RegExp('box','ig');//第二个参数可选模式修饰符 等同于 v ...

  5. 中和IOS七层架构和TCP/IP四层架构的五层架构

    五层架构分别为应用层.运输层.网络层.数据链路层.物理层. IOS架构把应用层又细分为应用层.表示层.会话层 TCP/IP把网络层改名网际层,数据链路层和物理层结合成网络接口层 其实只要学习五层协议, ...

  6. iview table中的render函数使用

    1.表格列数据内容过多可以用以下两个属性解决: ellipsis:"true', tooltip:true 使每个列的内容如果过多的话变为省略号 2.table中的render函数(实现根据 ...

  7. Linux 内核硬件资源

    一个 ISA 设备可配备有 I/O 端口, 内存区, 和中断线. 尽管 x86 处理器支持 64 KB I/O 端口内存(即, 处理器有 16 条地址线), 一些老 PC 硬 件仅解码最低的 10 位 ...

  8. java反射小实例

    利用反射实现 对配置文件的更改达到更改方法的目的 文件夹目录 首先Student类中有个sleep方法 pro.properties定义了参数 最后是RelectTestMain. package c ...

  9. Android APP开发内容图片不显示

    I/Glide: Root cause (1 of 1) Cause (1 of 1): class java.io.FileNotFoundException: No content provide ...

  10. Xgboost参数调节

    转自:https://segmentfault.com/a/1190000014040317 整体: # 1.调试n_estimators cv_params = {'n_estimators': [ ...