简体   繁体   English

Jekyll 插件更改字符

[英]Jekyll plugin change characters

I have made my onw jekyll plugin which gives some text special css (spoiler hider).我制作了我的 onw jekyll 插件,它提供了一些特殊的文本 css(剧透隐藏)。

This is my code:这是我的代码:

class Spoiler < Liquid::Tag
   def initialize(tag_name, input, tokens)
     super
     @input = input
   end

   def render(context)
     output = "<div class='spoiler'>" + @input + "<div>"
     return  output;
   end

end
Liquid::Template.register_tag('spoiler', Spoiler)                                 

There is example how I want to use it in my markdown posts:在我的 markdown 帖子中有我想如何使用它的示例:

---
layout: post
title:  "testing file"
date:   2019-09-25
category: article
---

aaaaaaaaaaa  {% spoiler secret text %} bbbbbbbbbbbb

but this is how page looks like:但这是页面的样子:

我的网站截图

When I look in to generated source code, the text looks like this:当我查看生成的源代码时,文本如下所示:

<p>aaaaaaa &lt;div class='spoiler'&gt;secret text &lt;/div&gt; bbbbbbbb</p>

What should I do make jekyll plugin generate html element instead of text?我应该怎么做才能让 jekyll 插件生成 html 元素而不是文本?

PS: If I manually replace &lt; PS:如果我手动替换&lt; by < and &gt;通过<&gt; by > , it works fine.通过> ,它工作正常。

Technically, every line separated by whitespace get rendered into an HTML <p> element.从技术上讲,由空格分隔的每一行都被渲染为 HTML <p>元素。

To avoid generating <p> tags automatically, explicitly wrap lines in a <div >:为了避免自动生成<p>标签,在<div > 中显式换行:

<div>
  aaaaaaaaaaa  {% spoiler secret text %} bbbbbbbbbbbb
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM