文档章节

Hexo 主题制作

打杂程序猿
 打杂程序猿
发布于 2013/04/10 05:48
字数 702
阅读 2016
收藏 5

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

##主题相关变量## ###site <% site %>### {

"posts": " 所有文章,根据发表日期降序排列 Collection事件",

"pages": " 所有页面,根据发表日期降序排列 Collection事件",

"categories ": "所有分类,根据字母顺序排列, Taxonomy 事件",

"tags ": "所有标签,根据字母顺序排列 Taxonomy 事件"

}

例如获取所有文章标题:

<% site.posts.each(function(item){ %> <%= item.title%> <% }); %>

###Page <% page %>### 注意 页面的资料,内容根据不同页面而有所差异,由 Generator 所控制

####下面为page,post 对象内容:####

post

{ "title": "文章标题",

"date": "文章的发布日期(Moment.js 库)",

"updated": "文章的更新日期(Moment.js 库)",

"comments": " 开启此文章的留言功能 boolean 值",

"layout": " 文章布局",

"content": "文章内文",

"excerpt": " 文章摘要(内文中 <!-- more --> 之前的内容)",

"source": "about/index.html 文件的相对路径",

"path": "about/index.html 文章的相对路径",

"ctime": "2013-04-05T14:38:36.000Z",

"mtime": "2013-04-05T14:38:41.000Z",

"permalink": "http://yoursite.com/about/index.html 完整的网络访问路径",

"full_path": "D:\hexo11/source/about/index.html 原始文件路径",

"categories" : "{}",

"tags": "{}"

"_id": 1 }

page 和 post 的差别不大,仅在于 page 没有categories和tags变量。 有些变量貌似文档没写,这里就补充了一下...

注意,这里的page属于单个 collection 迭代的单个对象

Generator控制 的page

基础布局模板:

page为 Collection事件

  • layout
  • archive
  • category
  • index
  • tag

例如在以上模板中可以用collection事件来获得具体的page内容:

<% page.posts.each(function(item){ %> <%= item.title%> <% }); %>

page为 post的内容的

  • page
  • post
  • 自定义模板

在以上模板中可以直接<%= page.title %>获得对应的内容.

###config <% config %>###

全局设定,即_config.yml的内容

###theme <% theme %>### 主题设定,即主题文件夹内_config.yml的内容,根据不同主题而有所差异

###__(双底线)<% __('string') %>###

  • 取得 国际化(i18n) 字串 参考默认主题的 languages/下的文件

例如:

<%= __('home')%>

##渲染流程## hexo v1.1.2的主题渲染,有两种渲染方式

###第一种基础布局渲染###

你也可以在主题中自定其他布局,例如link或photo之类的,若找不到自定的布局的话,则会根据 Generator 的不同,使用相对应的布局代替。 (至少要有index布局)

###第二种带layout 布局### 与第一种不同的是,多了一个全局的模板,layout.ejs 文件可以用这个代码<%- body %>page对象传递到下面的模板

##加载动态组件## 对于一个静态博客而言,最大的不便就是无法进行评论,不过关于这块,其实,已经有很多解决方案,下面以中国的多说为例

我们只需要在相应的模板加载对应的代码即可...例如

<code> var duoshuoQuery = {short_name:"xxxxxxxxxxxx"};

(function() {

var ds = document.createElement('script');

ds.type = 'text/javascript';ds.async = true;

ds.src = 'http://static.duoshuo.com/embed.js';

ds.charset = 'UTF-8';

(document.getElementsByTagName('head')[0]

|| document.getElementsByTagName('body')[0]).appendChild(ds);

})();</code>

效果: githubPags

© 著作权归作者所有

打杂程序猿

打杂程序猿

粉丝 135
博文 41
码字总数 51561
作品 3
广州
程序员
私信 提问
开发工具总结(13)之Hexo制作文档并发布到GitHub

在线文档制作工具系列篇 ↓: 第一篇:GitBook制作文档并发布到GitHub 第二篇:Hexo制作文档并发布到GitHub 第三篇:Jekyll制作文档并发布到GitHub 第四篇:Vuepress制作文档并发布到GitHub ...

AWeiLoveAndroid
07/05
0
0
「译」创建一个Hexo主题-Part1:首页

原文地址:Create an Hexo Theme-Part1: Index 原文作者:Jonathan Klughertz 在这个系列教程中,你将学习怎么从零开始制作一个 Hexo 主题。我很喜欢 Hexo ,并且每天都在使用,不幸的是,直...

Chorer
05/31
0
0
Hexo+NexT+GithubPages的博客优化

以及有很久没有在在简书和博客上写东西了;自己觉得这个东西应该坚持下来;博客不仅记录自己的旅程和技术层面面积累;更多表达生活的态度。 文章的大纲: 开始之前 这篇主要是针对个人已经大...

weir_will
2017/11/26
0
0
「译」创建一个Hexo主题-Part3 :评论、分析和小部件

原文地址:Create an Hexo Theme - Part 3: Comments, Analytics and Widgets 原文作者:Jonathan Klughertz 在这个系列教程中,你将学习怎么从零开始制作一个 Hexo 主题。 在 part1 和 part...

Chorer
06/21
0
0
玩转hexo - 4 - 主题

标签: hexo 原创 由于部分段落的排版无法实现,请查看原文。 地址:http://blog.lujingtao.com/2017/11/20/hexo-theme/ 什么是主题? 我们都知道,一个正常的静态网站的基本组成部分有三部分...

MichaelLu
09/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

交换机switch 的shutdown 与 no shutdown

shutdown是关闭接口(端口),接口状态会变为DOWN,no shutdown是激活接口(端口),状态变为UP,一般在给vlan或者端口配置管理ip或者端口ip后使用。 有时候我们配置某个端口前会需要把端口关闭到...

刘日辉
36分钟前
5
0
AOP底层源码分析

思维导图 AOP AOP: 面向切面编程[底层就是动态代理] 指程序在运行期间动态的将某段代码切入到指定方法位置进行运行的编程方式。 AOP通知方式 前置通知: logStart(),在目标方法(div)运行之前运...

volc1612
49分钟前
5
0
OSChina 周六乱弹 —— 别听他们的,你不胖你只是毛茸茸的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @且无需多言 :分享Rise Against的单曲《Audience Of One (Ghost Note Symphonies)》: 硬核朋克不插电版本,隐藏在喧嚣下的柔情! 《Audienc...

小小编辑
今天
34
2
apache httpClient实现代理发送Post请求

CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials( new AuthScope("host", port), new UsernamePasswordCredentials(username, password......

huangkejie
今天
6
0
SpringCloud

单体应用存在的问题 ● 随着业务的发展,开发变得越来越复杂。 ● 修改、新增某个功能,需要对整个系统进行测试,重新部署。 ● 一个模块出现问题,很可能导致整个系统崩溃。 ● 多个开发团队...

Star永恒
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部