我希望能够将Jekyll博客文章的默认文本方向设置为从右到左(RTL)。
以前我通常在Github markdown中在文本开头使用“
以前我通常在Github markdown中在文本开头使用“
”来实现这一点,但是在Jekyll markdown中似乎无法正确设置文本方向,因为我的文章会变得混乱并且无法正确显示。
你有什么建议吗?
你有什么建议吗?
覆盖您的主题布局(可以遵循https://jekyllrb.com/docs/themes/#overriding-theme-defaults的说明),然后只需将content
标签用所需的div
包装即可:
<div dir="rtl">
{{content}}
</div>
如果页面是波斯语(或阿拉伯语),您确实需要在前置元数据中指定它:
lang: fa # or "ar" if Arabic
然后,您可以通过创建一个if / else语句将其与@marcanuy的建议相结合,可能在您的基本布局文件中(在_layouts
文件夹中查找类似default.html
或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
属性,<div class="root" data-is-touch="false">
取决于我的模板,而你的可能是其他任何东西。然而,重点在于如果if语句的条件得到满足,将会添加额外的属性。
---
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可能不支持自动方向。