这篇博文用来记录关于hexo的一些魔法操作,主要针对于NEXT主题。将会在未来很长一段时间内持续更新,希望对大家有所帮助。
常规基本操作
写作
我们在搭建好了Hexo博客之后,肯定是需要写文章上去的。 那么,首先打开git,在命令行输入这些指令来创建文章:
代码语言:javascript复制$ hexo new [layout] <title> //[这里是文章布局],<这里是文章标题>
例如这样:
代码语言:javascript复制$ hexo new post HelloHexo
完成之后,会在 _posts 目录下会生成文件标题.md,一般的格式如下:
代码语言:javascript复制title: HelloHexo
date: 201-03-17 16:10:00 #发表日期,一般不改动
categories: hexo #文章文类
tags: [hexo,github] #文章标签,多于一项时用这种格式
---
正文,使用Markdown语法书写
写完文章后,可以先预览,或者直接推送到服务器上。
布局
Hexo 有三种默认布局:post
、page
和 draft
,它们分别对应不同的路径,而您自定义的其他布局和 post
相同,都将储存到 source/_posts
文件夹。
参数 | 路径 | 描述 |
---|---|---|
post | source/_posts | 文章 |
page | source | 页面 |
draft | source/_drafts | 草稿 |
在命令中指定文章的布局(layout),默认为 post
,可以通过修改 _config.yml
(根目录下的)中的 default_layout
参数来指定默认布局。如果你不想你的文章被处理,你可以将 Front-Matter 中的layout:
设为 false
。
基本模板参数
参数 | 描述 |
---|---|
layout | 布局 |
title | 标题 |
date | 建立日期 |
updated | 更新日期 |
comments | 开启文章的评论功能 |
tags | 标签(不适用于分页) |
categories | 分类(不适用于分页) |
permalink | 覆盖文章网址 |
基本变量参数
代码语言:javascript复制标题(小写,空格将会被替换为短杠)
强大的标签插件
标签插件和 Front-matter 中的标签不同,它们是用于在文章中快速插入特定内容的插件。
这个其实在Hexo的官方文档上都有比较完善的,大家想了解更多的话,还是建议去那里看,这里主要放一些我用到过的,以及我自己的一些理解。
引用书上的句子
代码语言:javascript复制{% blockquote David Levithan, Wide Awake %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
{% endblockquote %}
演示效果:
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy. David Levithan—Wide Awake
解释一下:
代码语言:javascript复制{% blockquote <这里填作者>, <这里填书名等> %}
中间这里存放引用正文
{% endblockquote %}
iframe
在文章中插入 iframe。
代码语言:javascript复制{% iframe url [width] [height] %} //设定url,宽、高
Image
在文章中插入指定大小的图片。
代码语言:javascript复制{% img [class names] /path/to/image [width] [height] [title text [alt text]] %}
//实际上,只需要定义图片的路径即可,除非图片的大小不能使你满意。图片的路径可以是本地路径,也可以是网络路径,这取决于你的选择。
Link
在文章中插入链接,并自动给外部链接添加 target="_blank"
属性。
{% link text url [external] [title] %} //这个不作过多的解释,都是常见属性
/
基于Next主题的优化与配置
点击爱心效果
给NexT主题内添加页面点击出现爱心的效果。首先,在找到/themes/next/source/js/src
文件夹,然后下载这个clicklove.js文件。
然后,在themesnextlayout_layout.swig
文件末尾添加:
<!-- 页面点击小红心 -->
<script type="text/javascript" src="/js/src/clicklove.js"></script>
添加文章结束语
在themesnextlayout_macro
中新建passage-end-tag.swig
文件,添加代码至该文件中:
<div>
{% if not is_index %}
<div style="text-align:center;color: #ccc;font-size:14px;">-------------本文结束<i class="fa fa-paw"></i>感谢您的阅读-------------</div>
{% endif %}
</div>
大小自己看着调整,毕竟每个人喜欢的不一样。
打开themesnextlayout_macropost.swig
文件,在post-body
后,post-footer
前,添加下面内容:
<div>
{% if not is_index %}
{% include 'passage-end-tag.swig' %}
{% endif %}
</div>
打开主题配置文件_config.yml
,在末尾添加:
# 文章末尾添加“本文结束”标记
passage_end_tag:
enabled: true
NEXT主题文件修改
设置文章背景
在themesnextsourcecss_customcustom.styl文件内增添如下代码:
代码语言:javascript复制/*设置博文背景*/
.main-inner {
background: #fff;
opacity: 0.9;
background后为rgb颜色代码,百度来一个rgb色值粘贴即可替换博文背景颜色(替换了也很丑) opacity后数值为博文背景透明度,可设置0.0-1.0数值,值越小透明度越高。
为主页文章添加阴影效果
在themesnextsourcecss_customcustom.styl文件内增添如下代码:
代码语言:javascript复制// 主页文章添加阴影效果
.post {
background: #fff;
opacity: 1;
margin-top: 60px;
margin-bottom: 60px;
padding: 25px;
webkit-box-shadow: 0 0 5px rgba(202, 203, 203, .5);
moz-box-shadow: 0 0 5px rgba(202, 203, 204, .5);
}
background和上面设置文章背景一样,为文章背景颜色;opacity透明度;margin-top上边距;margin-bottom下边距;padding框间距;webkit-box-shadow和moz-box-shadow为阴影长宽设置。
*版权声明:版权归作者本人所有,尊重原创,推送文章除非无法确认,都会注明作者和来源。如果出处有误或侵犯到原作者权益,实属无心之举,请务必与我联系删除或授权事宜。本公众号所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!