前言
经过前面的所有文章,你其实已经可以出门对别人讲,我是个博主,你可以从我的域名访问到我的博客。
本篇文章是着重细说,如何使用自定义模板,新建单篇博客。
注意:本文具体文档只针对[email protected]
,最新的[email protected]
我还没用过,不做保证。
时隔四年,重启Hexo历险计划!
<!–more–>
相当长的一段时间内,在_drafts
文件夹内复制旧有的博客,然后修改Front-matter
信息。其实本质上来说,我这么做是没有错误的。但是总会遇到那么一种没脑子的情况,我自己忘记做拷贝,直接将快完成的一篇三千字文章给全部删除了,写了新的内容……
所以才开始求变,才开始了解原来Hexo是怎么用模板创建文章的。
新建单篇博客
默认模板
言归正传,一开始的时候,我其实就从官方文档里面了解到,可以用命令新建文档。
hexo new test-1
于是Hexo就会根据博客根目录的配置文件的配置,从模板文件夹\scaffolds
内去匹配模板draft.md
文件,在\_draft
文件夹内生成命名为test-1.md
的MD文件。
自定义模板
仔细了解hexo
的帮助命令后,知道可以使用自定义的模板。
所以,我们完全可以新建不同的模板,来给不同的文章系列规定不同的样式表,下面用我自己的CPP模板做例子。
新建文件\scaffolds\cpp.md
—
layout: cpp
title: {{ title }}
date: {{date}}
author: 君匡
typora-root-url: ../
tags:
– java
categories:
– Java
—
<!–more–>
## 感谢
感谢现在努力的自己。
注意:一定要在front-matter
中加上字段layout: cpp
。用这个方式来指定文件所对应的模板。
生成博客
hexo new cpp test-3 –path=../_drafts/test-3
-
cpp
: 是扫描了模板文件夹下指定的模板 -
test-3
: 指定了生成文件的名称 -
--path
:可以为空,会自动生成到_post
文件夹内的;可以为路径,指明生成的文件夹。
脚本优化
正如我之前所说的,把他做成可运行的脚本,那么适当的美化是很重要的吧!
Windwos系统
在任意位置新建文件新建CPP博客.bat
,内容如下。
@echo off
color 74
echo. ******************************************************************
echo.
echo. 辛勤的君匡大人,欢迎新建CPP博客!
echo.
echo. ******************************************************************
echo.
echo.
cd F://myblog
set /p name=请输入新建的博客名称:
hexo new cpp %name% –path=../_drafts/%name%
至于更加风骚的模板就要自己开动脑筋了哦。
mac系统
这个系统默认使用的是zsh
,所以不能使用bat
脚本了,必须要使用sh
脚本了。
#!/bin/zsh
function hncpp(){ # hexo new cpp ****
cd /Volumes/KeenMacPlus/Blog/0Local
echo “辛勤的君匡大人,欢迎新建CPP博客!”
hexo new cpp “$1″ –path=../_drafts/”$1”
}
在配置文件中/Users/keen/.zshrc
中修改,实现自动加载该文件,内容如下。
source /Volumes/KeenMacPlus/Blog/0Local/source/+Bat+Sh/hexo.sh
于是想要写新博客的时候,只需要在任何路径下运行以下命令即可生成新一篇博客。
hncpp test-4
插件适配
在平时我们不显式标明的话,在渲染的时候layout
字段是自动填成post
的。然后诸多插件共同努力完成渲染,生成页面。
而因为我这次使用了自定义的模板文件,layout
就不是post
了,一些默认只针对layout: post
的插件就失效了。
举例来说,就是hexo-abbrlink
。
解决办法有两个,一个就是在手动移动md文件的时候直接删除该条信息,回归默认。
另一个,就是手动修改插件的内部逻辑,当然,非老司机不建议。而我此时脑袋里冒出了一个大胆的想法,我为什么不能基于原插件进一步开发一个新的插件?
事实证明,我做到了,公布了插件hexo-abbrlink3
,详细过程介绍就留在下一篇内容。
感谢
感谢现在努力的自己。