简体   繁体   中英

How to create custom liquid/markdown tags in Jekyll?

This Jekyll markdown + HTML code works fine:

<div class="row">
<div class="col-md-8"  markdown="1">

**Lorem** ipsum dolor sit amet, consectetur adipiscing elit. Donec nec eros eget nisl fringilla commodo. Maecenas ornare, augue ut ultricies tristique, enim lectus pretium quam, quis bibendum metus tellus sed magna. Donec eu dolor augue ut ultricies tristique, enim lectus pretium quam, quis bibendum metus tellus sed magna.

</div><div class="col-md-4" markdown="1">
![](images/exercise.jpg)
</div></div>

But I'd like to avoid HTML in markdown, to control styling & grid system only in 1 place (eg upgrade to bootstrap 4 or change entire template)

How could something like this work instead?

{% grid %} 
{% col:8 %}

**Lorem** ipsum dolor sit amet, consectetur adipiscing elit. Donec nec eros eget nisl fringilla commodo. Maecenas ornare, augue ut ultricies tristique, enim lectus pretium quam, quis bibendum metus tellus sed magna. Donec eu dolor augue ut ultricies tristique, enim lectus pretium quam, quis bibendum metus tellus sed magna.    

{% col:4 %}
![](images/exercise.jpg)
{% endgrid %}

Any syntax without HTML is welcome, this is just an example.

You could use an include . This lets you add content from another file to your HTML.

So you would have something like a file named grid-start.html in your _includes directory that contained the <div class="row"> HTML. Similar for the <div class="col-md-8" markdown="1"> content, as well as closing tags. Also note that you can pass in parameters to an include file.

Then in your markdown, you would do something like this:

{% include grid-start.html %}
   {% include col-start col="8" %}
      **Lorem** ipsum dolor sit amet...
   {% include col-end %}  
   {% include col-start col="4" %}
      ![](images/exercise.jpg)
   {% include col-end %}  
{% grid-end %}

Honestly this seems like a lot of rigmarole just to avoid using some basic html tags though.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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