Skip to main content

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

Project description

Nonebot-Plugin-EasyMarkdown

Markdown

License: MIT PyPI Python 3.8

基于fitzxhtml2pdf的格式化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.2.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.2.tar.gz
Algorithm Hash digest
SHA256 41f4e59eb3fd3d78d42e8ac3ef7b81a5ef7192cc7b69de635ed28340052bddb4
MD5 ec7779ba7dc25264563777d2237a8470
BLAKE2b-256 99430cd4457d4a1d3167d023b37db8c9309d57111d55676a1748a8165160847c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eeecf1fcf8e218934232733343ecace77cea349b9d5fc7a884a4f99f56832ef4
MD5 936755035a1425286504d02321c46150
BLAKE2b-256 7e11571d0fc50806894e8b9058f69c1ce407303bef6c3895b5ef6be85eabd969

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