gpt4 book ai didi

python-sphinx - Sphinx 扩展以在 Sphinx 中使用 GitHub Markdown 表情符号?

转载 作者:行者123 更新时间:2023-12-04 14:40:26 25 4
gpt4 key购买 nike

问题

我一直在用(Python) Sphinx doc ,以及 CommonMark解析器,编写包含用 reStructuredText 和 Markdown 编写的文件的 Sphinx 文档。到目前为止一切顺利,它工作得很好( see this line in an example of Sphinx conf.py file )。

但是,CommonMark 对 GitHub 风格的 Markdown (GFM) 的支持并不完美,它缺少的一项重要功能是 表情符号 .
我搜索了其他 Markdown 解析器,更具体到 GFM,例如 py-gfm ,但它们似乎都不支持表情符号。

For instance, the screenshot below shows the Sphinx output on the left, and the GitHub rendered version on the right: an example



所以我的问题是:
  • 有谁知道可以在 rST 和/或 Markdown 中添加对类似 GFM 的表情符号的支持的 Sphinx 扩展? (即,表情符号写成 :boom: 这个)。
  • 或者我可以用来转换任何表情符号的技巧,例如,:boom: ,到一个小图像? (因为这就是 GitHub 正在做的事情,例如参见 the :boom: image )技巧可能应该在 Sphinx 创建的 HTML 页面上,而不是在源 Markdown 文件上(我希望它们仍然可以通过 GitHub 文件查看器读取)。

  • 提前致谢。
    问候。

    2 部分解决方案
  • 部分解决方案是 this small Python script我写的,使用 carpedm20's emoji包裹。
    如果可能,它会将任何 :emoji: 别名(写成 :like_this:)转换为它的 UTF-8 版本。
  • 我也尝试使用 pymdownx.emoji包,写this second script .
    它会将任何 :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

    演示:
  • 使用用于表情符号的 UTF-8 代码:
    an example 2
  • 使用表情符号的 PNG 图像(仍然不完美):
    an example 3
  • 最佳答案

    没有在那里找到任何东西,所以结束了 creating an extension .

    安装它:

    pip install sphinxemoji

    然后,在您的狮身人面像的 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/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com