markdown-to-image-service:Markdown 转图片服务插件。支持 LaTeX、Mermaid、代码高亮等。

koishi-plugin-markdown-to-image-service

npm

简介

Koishi 的 Markdown 转图片服务插件。支持 LaTeX、Mermaid、代码高亮等。

注意事项

引用本地图片时,请使用相对路径。
相对路径根目录位于:./data/notebook

若在 notebook 文件夹内,存在名为 0.png 的图片,引用方式如下:

![图片介绍](0.png)

服务

  • ctx.markdownToImage.convertToImage(markdownText: string): Promise<Buffer>

示例

import {Context, h} from 'koishi';
import {} from 'koishi-plugin-markdown-to-image-service';

export const inject = {
  required: ['markdownToImage'],
};

export async function apply(ctx: Context) {
  ctx.command('test', '测试')
    .action(async ({session}) => {
      const markdownText = '# Hello';
      const imageBuffer = await ctx.markdownToImage.convertToImage(markdownText);
      return h.image(imageBuffer, 'image/png');
    });
}

致谢

QQ 群

  • 956758505

License

MIT License © 2024

4 个赞

部分功能图片示例

点击展开




插件配置项示例(可选主题 20+)

点击展开

换主题请打开此选项


3 个赞

好耶!

3 个赞
TypeError: browser.createBrowserContext is not a function
    at convertToImage

咱就是说 能不能用标准的 ctx.puppeteer.page() 来创建 page 啊

@araea

2 个赞

新建实例,无法复现。


问:为什么不用 .page()

我曾经使用 pptr 服务时,同时打开多个 page 会因为页面焦点转移导致无法截图,直至超时。

1 个赞

目前怀疑是因为我的服务器操作系统太老(Windows Server 2012,基于 Windows 8.1),没法更新 Chrome,最新版的 Puppeteer 不再支持 Chrome 109。更新 plugin-puppeteer 至 3.9.0 会出现 puppeteer.launch() 返回的 Promise 卡死在 pending 状态的问题,故回滚到 3.8.0 一直未更新。

2 个赞

你是否需要一个解决方案?

我来还是你来?

1 个赞

目前根据群友的建议,我已安装最新版本的 Supermium 来代替 Chrome,它支持较旧的操作系统。现在可以正常使用了。

2 个赞

?若知(


这个别 role path 了,只能在实例文件夹里选

2 个赞

为什么我配置里设置了 Chrome 路径还是报错 puppeteer-finder 找不到浏览器啊,手动设置了路径为什么还会调用 puppeteer-finder?

2 个赞

我的问题。

1 个赞

谢谢你在此帖子中的所有回复,祝好,我亲爱的朋友,有你真好。

谢谢你!

1 个赞

不是哥们这意思是我不用再回复了吗()()

插件其实很不错,mermaid渲染很方便:+1:

2 个赞