https://github.com/karinjs/karin-plugin-markdown
将文本转为 Github Markdown 风格的图片
https://github.com/karinjs/karin-plugin-markdown
Last synced: over 1 year ago
JSON representation
将文本转为 Github Markdown 风格的图片
- Host: GitHub
- URL: https://github.com/karinjs/karin-plugin-markdown
- Owner: KarinJS
- License: gpl-3.0
- Created: 2024-05-28T10:50:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-28T13:42:27.000Z (about 2 years ago)
- Last Synced: 2024-05-29T04:50:48.585Z (about 2 years ago)
- Language: JavaScript
- Homepage:
- Size: 1.11 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# markdown 转图
使用`puppeteer`将`markdown`转换为图片
---
## 安装插件
karin 根目录执行以下命令即可开箱使用
```bash
pnpm add @karinjs/plugin-markdown -w
```
## 有一些基础配置
> 你可以在`karin/config/plugin/@karinjs/plugin-markdown/config.yaml`中配置
```yaml
# 权限配置 "master" | "admin" | "group.owner" | "group.admin" | "all"
permission: master
# 像素比 越高越清晰 但是会减缓渲染速度
deviceScaleFactor: 3
# 页面加载状态 'load'|'domcontentloaded'|'networkidle0'|'networkidle2'
# load: 页面完全加载
# domcontentloaded: DOMContentLoaded 事件触发 如果纯静态可以使用
# networkidle0: 500ms内没有网络连接
# networkidle2: 500ms内网络连接数小于2
waitUntil: networkidle2
# markedKatex配置 详情查看https://katex.org/docs/options.html
markedKatex:
# 输出格式 html | mathml | htmlAndMathml
output: htmlAndMathml
throwOnError: false
```
## 指令
`#md + markdown内容`
`#md + 任何文件`
举例:
点击展开查看高级示例
```txt
#md # 地球的安可
## 想要看我的私房照吗?
> 使用技能
| 参数名 | 参数类型 |
| ------ | ------ |
| 敌人id | int |
| 是否长按 | bool |
安可私房照
地球的安可
地球生物
```
### 效果展示
点击展开图片查看效果
![图片][效果展示]
## 进阶
当然支持导出使用啦~
举例: 在`karin-plugin-example`中随便新建一个 js 文件
```js
import fs from "fs";
import markdown from "../karin-plugin-markdown/index.js";
const image = await markdown("# Hello, world!");
// 保存到本地 base64
fs.writeFileSync("./image.jpeg", image.replace("base64://", ""), "base64");
```
你会在根目录看到一个`image.jpeg`文件~
### 更多参数
```js
import fs from "fs";
import markdown from "../karin-plugin-markdown/index.js";
const image = await markdown("# Hello, world!", {
theme: 2, // 主题设置 0跟随系统 1白天 2黑夜
waitUntil: "networkidle0", // "networkidle0" | "load" | "domcontentloaded" | "networkidle2"
deviceScaleFactor: 10, // 像素比 越大越清晰 渲染速度越慢
});
// 保存到本地 base64
fs.writeFileSync("./image.jpeg", image.replace("base64://", ""), "base64");
```
## 资源来源
- `highlight.min.js`:
- [原始源][highlight.min.js]
- [GitHub][Github-highlight.min.js]
- `github.min.css`:
- [原始源][github.min.css]
- [GitHub][Github-highlight.min.js]
- `katex.min.css`:
- [原始源][katex.min.css]
- [GitHub][Github-katex.min.css]
- `tex-mml-chtml.js`:
- [原始源][tex-mml-chtml.js]
- [GitHub][Github-tex-mml-chtml.js]
[效果展示]: https://gchat.qpic.cn/gchatpic_new/473893141/2171986905-3016544360-EFA0C041E2496809C8369DCACE68A1E1/0?term=2&is_origin=1
[highlight.min.js]: https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/highlight.min.js
[github.min.css]: https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.6.0/styles/github.min.css
[katex.min.css]: https://cdn.jsdelivr.net/npm/katex@0.16.8/dist/katex.min.css
[tex-mml-chtml.js]: https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js
[Github-highlight.min.js]: https://github.com/highlightjs/highlight.js
[Github-katex.min.css]: https://github.com/linxiaowu66/marked-kaTex
[Github-tex-mml-chtml.js]: https://github.com/mathjax/MathJax