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.1.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3e62f9f4856a848831e0501b223f2c6da14e4b05fbc7e89e0e30b12f46ddfe62
MD5 3f5c5e5fce5f7a27d1e523b54e77c008
BLAKE2b-256 8eb0dc056fef6869e89b84e9f4a4ee16d63ce2ec04b39cdc030798cb40df4819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for nonebot_plugin_easymarkdown-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85997c7699963a3d45ef62e62851b761a8f644b4ca2dd1990c6f84447a769441
MD5 4f4ccc11c634cac113dc1f29fe27e303
BLAKE2b-256 cca6d8e4b1a785013a7f035a3e0aa717e0ca7151a90e31302ca8d5b38788e627

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