Skip to main content

格式化markdown语法,并转化为可读性较好的图片

Project description

Nonebot-Plugin-EasyMarkdown

Markdown

License: MIT PyPI Python 3.8

基于fitz与xhtml2pdf的格式化markdown语法,并转化为图片发送的插件

介绍

对于大语言模型越来越广泛使用的今天,大部分人在网页复制其回答总是会带有md的正则语法。导致许多时候我们要将其粘贴至word等地方时格式会很乱,并且还要手动去除这些语法,徒增麻烦。

同样的,并不是大多数人都会使用typora等md编辑软件

因此,本项目提供了一个简易的解决方案,只需将文本发送至bot,bot便能够将文本格式化并转化成图片发送回来,同时也包括去除了md语法的纯文本内容

安装

使用nb-cli进行安装:

nb plugin install nonebot-plugin-easymarkdown

或使用pip安装:

pip install nonebot-plugin-easymarkdown

使用

@机器人+.md+空格+md文本内容

原理

使用markdown2库将md文本转化为html,再使用xhtml2pdf库将html文本转化为pdf文件,最后使用fitz库将pdf文件转化为图片

graph TD
    A[md文本] --> |markdown2库| B[html文本]
    B --> |xhtml2pdf库| C[pdf文件]
    C --> |fitz库| D[图片]

图片发送完毕会立即删除生成的图片与pdf文件,不会占用服务器空间

为了保证插件的易用性,因此不使用html2image等需要自行安装第三方工具的库,所以bot运行起来可能会稍慢

图例

output_page_1

output_page_2

output_page_3

存在的问题

由于xhtml2pdf库对于中文较少的支持,所以不支持粗体斜体倾斜粗体的md文本

不支持latex表达式

代码块不支持代码高亮(有,但是不会高亮)

其余大部分md文本均可较好显示

贡献

欢迎提交Pull Request或报告Issues。

许可

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nonebot_plugin_easymarkdown-1.0.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file nonebot_plugin_easymarkdown-1.0.0.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.0.tar.gz
Algorithm Hash digest
SHA256 fa03fcbdbce69b1596b12a6be5b6e3a73497d809c27ae8f230b842f105bef888
MD5 89d62f1e71effcc7406b5cc6fe7b02a3
BLAKE2b-256 dadbc767418d24ecb925ba0df8a8e45af5b6b8e93a0b3bfb8daf2d4a5f8bcc59

See more details on using hashes here.

File details

Details for the file nonebot_plugin_easymarkdown-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03c74daf350cfb7d1fedd7b6ce1c6a6bccf6d5ee09ff77da176a459bb9f08dbb
MD5 bb00bcd4e0bd87ba59b16ccdaf99726a
BLAKE2b-256 717789571c5d603ee2cd8667397c20ade91b4a1275ac85626e24220f65ff6ce2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page