如何在Jekyll帖子中编写RTL文本?

时间:2017-11-19 05:37:58

标签: css markdown jekyll blogs

我想将Jekyll博客帖子的默认文本方向设置为从右到左(RTL),

我通常在文本开头使用'<div dir="rtl">'在Github markdown中执行此操作

但似乎我无法在Jekyll markdown中使用'<div dir="rtl">'来正确设置文字方向,

因为我的帖子全部卡住而且无法正确显示。

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

覆盖您的主题布局(您可以按照https://jekyllrb.com/docs/themes/#overriding-theme-defaults的说明操作),然后只需将content标记与所需的div包装在一起:

<div dir="rtl">
{{content}} 
</div>

答案 1 :(得分:0)

您可以为页面或帖子使用以下布局:

---
layout: pageAuto
--- 
{% assign paragraphs = page.content | newline_to_br | strip_newlines | split: '<br />' %}
{% for p in paragraphs %}
<div dir="auto"> 
{{ p }}
</div>
{% endfor %}

遍历段落。对于更复杂的情况,您可以基于内容或基于前端问题中的变量来使用条件块。另外,请注意,Internet Explorer或Edge可能不支持自动导航。

答案 2 :(得分:0)

如果页面是波斯语(或阿拉伯语),则确实必须在前题中指定

lang: fa  # or "ar" if Arabic

然后,可以通过在基本布局文件中进行if / else语句,将其与@marcanuy的建议结合使用(在_layouts文件夹中查找类似default.html或{{ 1}}),如下所示:

base.html

注意:我的{%- if page.lang == 'fa' -%} <div class="root" data-is-touch="false" dir="rtl"> {{content}} </div> {%- else -%} <div class="root" data-is-touch="false"> {{content}} </div> {%- endif -%} 属性div取决于我的模板,您的模板可以是其他任何模板。但是,关键是要满足if语句的条件,就会添加额外的属性。