问题
我一直在使用(Python) Sphinx doc和CommonMark解析器来编写Sphinx文档,其中包含用reStructuredText和Markdown编写的文件。到目前为止,一切都很好,它确实可以正常工作(see this line in an example of Sphinx conf.py
file)。
但是,CommonMark对GitHub风格的Markdown(GFM)的支持并不完美,它缺少的一个重要功能是 emoji 。
我搜索了其他Markdown解析器,更特定于GFM,例如py-gfm,但它们似乎都不支持表情符号。
所以我的问题是:
:boom:
这样写的表情符号)。 :boom:
)转换为小图像的技巧? (因为这正是GitHub所做的,例如参见the :boom:
image)。该技巧可能应该在Sphinx创建的HTML页面上,而不是在源Markdown文件上(我希望它们仍然可以在GitHub File Viewer上读取)。 提前致谢。
问候。
2部分解决方案
如果可能的话,它将把任何:emoji:别名(写成:like_this :)转换成它的UTF-8版本。
它将把任何:emoji:别名转换为一段HTML代码,以加载一个遥远的PNG(或SVG)版本(来自JsDelivr的CDN)。仍然不够完美,大小/缩放比例也不佳,甚至...中的表情符号也被替换了。 (我将对此进行改进)。
两者都可以与这个微小的Bash for循环一起使用:
BUILDDIR=_build/html # Adapt to the location of your Sphinx output
for i in "$BUILDDIR"/*.html; do
emojize.py "$i" > "$i".new
# or emojize_pngorsvg.py "$i" > "$i".new
wdiff -3 "$i" "$i".new;
mv -vf "$i".new "$i"
done
演示:
最佳答案
那里什么都没找到,所以最终变成creating an extension。
通过以下方式安装:
pip install sphinxemoji
然后,在您的Sphinx的
conf.py
中:extensions = [
'...',
'sphinxemoji.sphinxemoji',
]
然后,您可以开始在文档中使用表情符号代码(请注意,尽管如此,您仍然需要在表情符号代码周围使用横条):
This text includes a smily face |:smile:| and a snake too! |:snake:|
Don't you love it? |:heart_eyes:|
如果您想要一致的表情符号样式,可以将其添加到
conf.py
中:sphinxemoji_style = 'twemoji'
关于python-sphinx - Sphinx扩展在Sphinx中使用GitHub markdown表情符号?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42087466/