我只是将我需要的移植了过来,需要别的可以自行移植。所以我下面说到的都是关于我移植的部分标签。
移植于主题volantis,这款主题很好看,大家可以去尝试一下。
移植起来也很简单,只要将对应的js和css添加到自己的引用中即可。

简单说一下移植以及使用

移植简单,制作不易。支持原作者!

因为我也不是很清楚原理,所以给出傻瓜式操作

js

将以下代码放进../node_modules/hexo-generator-tag/index.js

function postFolding(args, content) {
  args = args.join(' ').split(',');
  let style = ''
  let title = ''
  if (args.length > 1) {
    style = args[0].trim()
    title = args[1].trim()
  } else if (args.length > 0) {
    title = args[0].trim()
  }
  if (style != undefined) {
    return `<details ${style}><summary> ${hexo.render.renderSync({text: title, engine: 'markdown'}).split('\n').join('')} </summary>
              <div class='content'>
              ${hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')}
              </div>
            </details>`;
  } else {
    return `<details><summary> ${hexo.render.renderSync({text: title, engine: 'markdown'}).split('\n').join('')} </summary>
              <div class='content'>
              ${hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')}
              </div>
            </details>`;
  }
}
hexo.extend.tag.register('folding', postFolding, {ends: true});
function postP(args) {
  args = args.join(' ').split(',')
  let p0 = args[0].trim()
  let p1 = args[1].trim()
  return `<p class='p ${p0}'>${p1}</p>`;
}
function postSpan(args) {
  args = args.join(' ').split(',')
  let p0 = args[0].trim()
  let p1 = args[1].trim()
  return `<span class='p ${p0}'>${p1}</span>`;
}

hexo.extend.tag.register('p', postP);
hexo.extend.tag.register('span', postSpan);

function postNote(args) {
  args = args.join(' ').split(',')
  if (args.length > 1) {
    let cls = args[0].trim()
    let text = args[1].trim()
    return `<div class="note ${cls}">${hexo.render.renderSync({text: text, engine: 'markdown'}).split('\n').join('')}</div>`;
  } else if (args.length > 0) {
    let text = args[0].trim()
    return `<div class="note">${hexo.render.renderSync({text: text, engine: 'markdown'}).split('\n').join('')}</div>`;
  }
}

function postNoteBlock(args, content) {
  return `<div class="note ${args.join(' ')}">
            ${hexo.render.renderSync({text: content, engine: 'markdown'}).split('\n').join('')}
          </div>`;
}
hexo.extend.tag.register('note', postNote);
hexo.extend.tag.register('noteblock', postNoteBlock, {ends: true});

如果你想移植自己想用的,将主题文件下载下来找到对应的js将其中的代码一起复制进来即可。

css

下载这个css,放在本地调用:https://cdn.jsdelivr.net/gh/drew233/css/newtag.css

如果你想移植自己想用的,在示例站的css中找到对应的代码一起复制进来即可。

下面高能预警,非战斗人员撤退。

对照表

方便以后自己使用,也给大家看一下效果。

容器-folding

点击查看markdown源代码

{% folding, 图片测试 %}
{% fb_img https://cdn.jsdelivr.net/gh/drew233/imgcdn/1603205692256.png %}
{% endfolding %}
{% folding cyan open, 查看默认打开的折叠框 %}

这是一个默认打开的折叠框。

{% endfolding %}
{% folding green, 查看代码测试 %}

{% endfolding %}
{% folding yellow, 查看列表测试 %}

  • haha
  • hehe

{% endfolding %}
{% folding red, 查看嵌套测试 %}

{% folding blue, 查看嵌套测试2 %}

{% folding 查看嵌套测试3 %}

hahaha

{% endfolding %}
{% endfolding %}
{% endfolding %}

图片测试

查看默认打开的折叠框

这是一个默认打开的折叠框。

查看代码测试

查看列表测试

  • haha
  • hehe

查看嵌套测试

查看嵌套测试2

查看嵌套测试3

hahaha

标签-note

点击查看markdown源代码

支持使用颜色参数:clear,light,gray,red,yellow,green,cyan,blue

{% note red, 为简单的一句话提供的简便写法。 %}

{% note quote, 为简单的一句话提供的简便写法。 %}

{% note info, 为简单的一句话提供的简便写法。 %}

{% note warning, 为简单的一句话提供的简便写法。 %}

{% note done, 支持同样丰富的参数。 %}

{% note success, 支持同样丰富的参数。 %}

{% note danger, 支持同样丰富的参数。 %}

{% note error, 支持同样丰富的参数。 %}

{% note radiation, 支持同样丰富的参数。 %}

{% note bug, 支持同样丰富的参数。 %}

{% note idea, 支持同样丰富的参数。 %}

{% note link, 支持同样丰富的参数。 %}

{% note todo, 支持同样丰富的参数。 %}

{% note msg, 支持同样丰富的参数。 %}

{% note guide, 支持同样丰富的参数。 %}

{% note up, 支持同样丰富的参数。 %}

{% note undo, 支持同样丰富的参数。 %}

{% note paperclip, 支持同样丰富的参数。 %}

为简单的一句话提供的简便写法。

为简单的一句话提供的简便写法。

为简单的一句话提供的简便写法。

为简单的一句话提供的简便写法。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

支持同样丰富的参数。

文字

点击查看markdown源代码

{% span red, 红色 %}、{% span yellow, 黄色 %}、{% span green, 绿色 %}、{% span cyan, 青色 %}、{% span blue, 蓝色 %}、{% span gray, 灰色 %}。

{% span small, Test %}
{% span large, Test %}
{% span huge, Test %}
{% span ultra, Test %}
{% span ultra logo red, Test %}

{% p center logo large, Uncle_drew %}
{% p center small, Hand down,man down %}

红色黄色绿色青色蓝色灰色Test Test Test Test

Hand down