「这样玩Hexo」修改主题自定义实现界面和功能的自定义
首发于个人博客
想获得更好的阅读体验,烦请移步⬆️
前言
作为一个颜党,在换了许多Hexo的主题后,选择了现在使用的fexo主题。但是相比于大多数博主使用的NEXT,fexo还是不够powerful,所以想要给博客加一些additional的功能,还需要自己修改主题文件。
以下内容均基于fexo
主题,对于其他主题也能作为参考,酌情修改。
博文添加版权声明
效果图
layout
这里需要新建一个.ejs
文件。我将它命名为copyright.ejs
并放置在fexo/layout/_partial/
下,文件内容为:
<div class="post-copyright">
<p class="post-copyright-author">
<b>本文作者:</b>
<a href="<%= config.root %>index.html" target="_blank" title="<%= config.author %>">
<%= config.author %>
</a>
</p>
<p class="post-copyright-link">
<b>本文链接:</b>
<a href="<%- config.root %><%- post.path %>" target="_blank" title="<%= post.title %>">
<%- config.url %>/<%- post.path %></a>
</p>
<p class="post-copyright-license">
<b>版权声明:</b>
本博客所有文章除特别声明外,均采用
<i class="fa fa-fw fa-creative-commons"></i>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">BY-NC-SA 4.0</a>
国际许可协议,转载请注明。</p>
</div>
然后在article.ejs
中引入,找到<%- post.content %>
,在下面添加:
<%- partial('copyright') %>
这时候其实就已经有了一个简陋的版权声明。
CSS
想要实现上面图片的效果,还需要在CSS中给版权说明加上样式:
.post-copyright {
margin: 2em 0 0;
padding: 0.5em 1em;
border-left: 3px solid #1bbc9b;
background-color: #F7F7F7;
list-style: none
}
.post-copyright p{
line-height: 1em;
}
更改Gitalk样式
fexo已经原生支持了Gitalk,但是只是简单地开启了这个评论功能,显示效果还是Gitalk的默认效果,这样评论区就显得格格不入。
效果图
CSS
Gitalk的样式是在线获取的,所以在CSS中需要加上!important
才能覆盖原有样式。
主要做了如下修改:
- 修改评论框圆角为6px,与fexo主题中代码块样式统一
- 去除评论框边框,颜色修改,与主题中搜索框样式统一
- 修改显示字体
.gt-container .gt-header-textarea , .gt-header-preview {
border-radius: 6px!important;
border: 0px!important;
background-color: #f0f0f0!important;
font-family: 'Open Sans Condensed',"Microsoft Yahei"!important;
}
.markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre , .gt-container .gt-counts{
font-family: 'IBM 3270','Open Sans Condensed',"Microsoft Yahei"!important;
}
.gt-container .gt-ico-github svg {
fill: #757575!important;
}
给博文中元素前加上Iconfont
效果图
layout
这里需要引入FontAwesome的CSS文件,修改head.ejs
,在<!DOCTYPE html>
下另起一行,写入:
<link href="//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
CSS
.article-content p a:before {
font-family: 'FontAwesome';
content: '\f0c1';
font-size: 0.7em;
padding-left: 0.2em;
}
「这样玩Hexo」修改主题自定义实现界面和功能的自定义的更多相关文章
- 「快学springboot」集成Spring Security实现鉴权功能
Spring Security介绍 Spring Security是Spring全家桶中的处理身份和权限问题的一员.Spring Security可以根据使用者的需要定制相关的角色身份和身份所具有的权 ...
- 「零秒思考」是个神话,不过这款笔记术你值得拥有zz
今天读完了赤羽雄二的<零秒思考>,作者是一位在麦肯锡公司工作了 14 年的资深顾问.依照作者的说法,「零秒思考」指的是: 瞬间便能认清现状, 瞬间便能整理问题, 瞬间便能考虑出解决办法, ...
- 拇指玩」制作的「谷歌安装器」app
作者:匿名用户链接:https://www.zhihu.com/question/57468448/answer/153000587来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请 ...
- [译]聊聊C#中的泛型的使用(新手勿入) Seaching TreeVIew WPF 可编辑树Ztree的使用(包括对后台数据库的增删改查) 字段和属性的区别 C# 遍历Dictionary并修改其中的Value 学习笔记——异步 程序员常说的「哈希表」是个什么鬼?
[译]聊聊C#中的泛型的使用(新手勿入) 写在前面 今天忙里偷闲在浏览外文的时候看到一篇讲C#中泛型的使用的文章,因此加上本人的理解以及四级没过的英语水平斗胆给大伙进行了翻译,当然在翻译的过程中发 ...
- hexo及next主题修改
通过npm uninstall <package>命令,你可以将node_modules目录下的某个依赖包移除: 1 npm uninstall 包名 要从package.json文件的依 ...
- 在webpack自定义配置antd的按需加载和修改主题色
最近使用antd来做react项目的UI.从antd官网上,在使用create-react-app脚手架搭建项目时步骤如下: (1)添加模块 react-app-rewired, babel-plug ...
- Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏
Vue+WebSocket+ES6+Canvas 制作「你画我猜」小游戏 转载 来源:jrainlau 链接:https://segmentfault.com/a/1190000005804860 项 ...
- hexo的next主题个性化教程:打造炫酷网站
看到有些next主题的网站很炫酷,那么是怎么配置的呢?接下来我会讲一讲如何实现一些炫酷的效果 主要有以下32种: 在右上角或者左上角实现fork me on github 添加RSS 添加动态背景 实 ...
- hexo的jacman主题配置
获得更多资料欢迎进入我的网站或者 csdn或者博客园 这是在我搭建博客时用的主题,这个主题时基于pacman修改的,同时我也是借助于wuchong同时他还在一直更新.一下时我的一些基本配置: 相关文章 ...
随机推荐
- MDI窗体及涉及到的相关问题
MDI窗体是个什么东东尼?多文档窗体唠,相对的还有个SDI,就是单文档窗体.一般情况下我们会将软件的主窗体设置为MDI窗体.那么在主窗体的菜单部分调出来的其他窗体就是主窗体的子窗体了. (1)在主窗体 ...
- Winform工具栏ToolStrip和状态栏StatusStrip
工具栏和状态栏的设置与前面的菜单基本相似 1.ToolStrip 从工具栏选项卡上拖一个放入窗体即可,位置也是通过其Dock设置的.先上一张图,红色部分就是工具栏,工具栏中可以放置如图下拉菜单中的Bu ...
- Linux运维学习笔记-定时任务知识总结
定时任务编辑规范流程: 重要知识点: 切记用全路径编写定时脚本.定时任务 大部分在 crontab 计划任务中都会年到未尾带 >/dev/null 2>&1,是什么意思呢? > ...
- Ubuntu 16.04安装Vim8.0
Ubuntu 16.04安装Vim8.0 https://www.aliyun.com/jiaocheng/131859.html sudo add-apt-repository ppa:jonath ...
- [Qt] QLineEdit 仿QQ签名框
今天鼓捣了半天,终于实现了自定义Qt中的QlineEdit控件的大致效果. 这个问题对于新手而言,主要有以下几个难点: 1.继承QLineEdit控件 2.QSS设置QLineEdit的相关样式,可以 ...
- flow flow-typed 定义简单demo
flow-typed 安装 全局 npm install -g flow-typed 测试代码 一个简单全局函数 目录根目录 flow-typed userLibDef.js declare func ...
- bzoj 5020(洛谷4546) [THUWC 2017]在美妙的数学王国中畅游——LCT+泰勒展开
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5020 https://www.luogu.org/problemnew/show/P4546 ...
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- Form中的keypress事件不能用
Form中的keypress事件不能用 编写人:CC阿爸 2015-4-8 近期在修改系统时,想给一画面增加一个组合键功能,但在form_keypress事件中加入代码,但无论如何也不能触发该动作. ...
- 解决移动端H5海报滑动插件适应大部分手机问题 手机端高度自适应
Html5微信端滑屏海报在各种尺寸的手机上总会有这样那样的问题,经过多次制作总结出来一些小心得,分享下. 我使用的是jquery插件swiper.min.js,动画可以利用animate.css,如果 ...