标签插件(Tag)

  1. 概要
  2. 选项
    1. ends
    2. async
  3. 范例
    1. 没有结束标签
    2. 有结束标签
    3. 非同步渲染

标签插件帮助开发者在文章中快速插入内容。

概要

hexo.extend.tag.register(name, function(args, content){
}, options);

标签函数会传入两个参数:argscontent,前者代表开发者在使用标签插件时传入的参数,而后者则是标签插件所覆盖的内容。

从 Hexo 3 开始,因为新增了非同步渲染功能,而改用 Nunjucks 作为渲染引擎,其行为可能会与过去使用的 Swig 有些许差异。

选项

ends

使用结束标签,此选项默认为 false

async

开启非同步模式,此选项默认为 false

范例

没有结束标签

插入 Youtube 影片。

hexo.extend.tag.register('youtube', function(args){
  var id = args[0];
  return '<div class="video-container"><iframe width="560" height="315" src="http://www.youtube.com/embed/' + id + '" frameborder="0" allowfullscreen></iframe></div>';
});

有结束标签

插入 pull quote。

hexo.extend.tag.register('pullquote', function(args, content){
  var className =  args.join(' ');
  return '<blockquote class="pullquote' + className + '">' + content + '</blockquote>';
}, {ends: true});

非同步渲染

插入文件。

var fs = require('hexo-fs');
var pathFn = require('path');

hexo.extend.tag.register('include_code', function(args){
  var filename = args[0];
  var path = pathFn.join(hexo.source_dir, filename);

  return fs.readFile(path).then(function(content){
    return '<pre><code>' + content + '</code></pre>';
  });
}, {async: true});

文章标题:标签插件(Tag)

文章字数:282

本文作者:牵猪的仓鼠

发布时间:2017-03-12, 19:35:02

最后更新:2017-03-13, 21:04:04

原始链接:http://s.amlove.cn/2017/03/12/hexo/api/tag/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录

喜欢就点赞,疼爱就打赏