初心:更好地利用前端交互性,做更优秀的笔记效果,更方便更新
配置Hexo总结。关于Hexo建站的教程太多了,很多细节很到位,不想重复,整体建站和配置的框架如下:
- 安装node(可用
node -v
命令检验是否安装成功);添加国内阿里镜像进行加速(可选);
- 安装git(后续一些命令在gitbash里操作);
- 下载Hexo和一个主题(个人选了NexT);
- 简单配置主题并运行看效果;
- 生成ssh key配置到GitHub;
-
hexo d
部署到GitHub; - 绑定域名(可选);
- 继续优化个性化效果并更新到GitHub;
三大修改点
进行Hexo主题的个性化,个人总结三大修改点为:
- 改配置;某些组件启用不启用,某些插件使用与否;相关设置都在两个配置文件里,即 hexo项目文件夹下的
_config.yml
和主题下的文件夹themes/next/_config.yml
;(下文称前者为hexo配置文件,后者为主题配置文件) - 改渲染模板;主题layout文件夹下的各种swig文件;
- 改CSS,各种颜色、居中等样式和排版效果;对应
themes/next/source/css
及子目录下的各种styl后缀的文件;
建站一小时,配置十数小时。具体的一些常用和有趣的:
丰富文章分类
- 生成md时生成一个文件夹,更好地放图片等资源
把hexo配置文件_config.yml
中的post_asset_folder
项,设置为true。
- 生成时有更多属性,如toc等
修改项目scaffolds文件夹里的post.md文件为:(需要有的内容根据需求删减)1
2
3
4
5
6
7
8
9
10
11
12---
title: {{ title }}
date: {{ date }}
top: false
cover: false
password:
toc: true
mathjax: true
summary:
tags:
categories:
---
个性化展示效果
主页
阅读全文
阅读全文居中
mist主题中阅读全文默认是居左的,改为居中:在css中,找到post-button
,把text-align: center
变成text-align: center !important;
头像点击后回到首页
头像图片文件的目录\themes\next\source\images
,导航栏的站点概览渲染现在是移到了\themes\next\layout_partials\sidebar 目录下的site-overview.swig,不是在\themes\next\layout_macro\sidebar.swig,所以是修改site-overview.swig文件。1
2
3
4{%- if theme.avatar.url %}
<img class="site-author-image" itemprop="image" alt="{{ author }}"
src="{{ url_for(theme.avatar.url) }}">
{%- endif %}变成:
1
2
3
4
5
6{%- if theme.avatar.url %}
<a href="/">
<img class="site-author-image" itemprop="image" alt="{{ author }}"
src="{{ url_for(theme.avatar.url) }}">
</a>
{%- endif %}也就是添加了
<a href="/">
和</a>
。
颜色
都是改css
标题颜色:themes\next\source\css\_common\components\post\post-header.styl
图片
正确显示图片
安装一个插件,注意版本挺关键,因此不能直接用npm install hexo-asset-image –save,而是:1
npm install https://github.com/CodeFalling/hexo-asset-image --save
还需要修改hexo配置文件
_config.yml
,把post_asset_folder
的值变成true
,图片需要放在md文件同名的文件夹下,否则也可能没办法正确显示。图床的图片
1
<img src="https://qlweilcf.github.io/images/avatar.jpg" alt="earth" style="float:left;height:90px;width:90px;margin-right:5px">
显示图片文本
用特定版本的hexo-asset-image,就可以正常显示图片对应的说明文本,文本和图片的相对位置可以微调css;
- 图片居中
next\source\css\_common\components\post\post.styl
在post里写:
1 | .posts-expand .post-body img { |
- 多张图片横排
post 发布内容
底部居中
找到themes/next/source/css/_schemes/Mist/index.styl
文件中的footer,将.footer-inner的text-align: left
修改为center
。不渲染某些文件
两种方法:
1,在项目根目录下的配置文件_config.yml
中找到skip_render,在后面添加要跳过渲染的页面,例如skip_render: viz\**
,那么就表示\source\viz
目录下的所有文件将跳过渲染,直接复制到 public 文件夹发布。排除的规则可以用正则表达式,例如skip_render: '*.html'
2,在文章头部添加---layout: false---
。
不渲染的HTML里,css,JavaScript等的引入尽量写到html文件里;图片考虑图床或者变成base64编码写入HTML里。标题下面显示文章字数、预计阅读时间
安装wordcount:npm install hexo-wordcount --save
,
修改主题配置文件:找到post_wordcount,把需要的设置为true,
1 | post_wordcount: |
修改渲染模板文件:\themes\next\layout\_macro\post.swig
,
1 | {%- if not is_index and theme.busuanzi_count.enable and theme.busuanzi_count.post_views %} |
变成:
1 | {%- if not is_index and theme.busuanzi_count.enable and theme.busuanzi_count.post_views %} |
修改h1~h5等是在themes\next\source\css\_common\components\post
里的post-expand.styl修改,例如给h2添加左边矩形块:
1 | h2 { |
page 页面
about 页面,结合md+自定义效果
先写md渲染出html,然后在html基础上修改加内容和交互,把文件添加到skip_render名单里。归档页面最上面一行文本显示
修改\themes\next\layout\archive.swig
,并把语言的映射修改一下。
hexo常用命令行
1 | hexo new page paper 新建一个page about之类的 |
有什么需求可以关注公众号和我讨论: