# ray-doc-render

> personal doc render

Latest version **2.1.3** (published 2026-04-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install ray-doc-render
pnpm add ray-doc-render
yarn add ray-doc-render
bun add ray-doc-render
```

## Health

**Score 45/100 (D)** — status: active.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

## Facts

| | |
|---|---|
| Version | 2.1.3 |
| Published | 2026-04-22 |
| First published | 2018-12-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 21.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | ilex.h |
| Maintainers | ilex.h |
| Keywords | doc, oader |

## Links

- npm: https://www.npmjs.com/package/ray-doc-render
- npm.io page: https://npm.io/package/ray-doc-render

## Dependencies (3)

- [util](https://npm.io/package/util.md) ^0.10.3
- [marked](https://npm.io/package/marked.md) ^4.3.0
- [prismjs](https://npm.io/package/prismjs.md) ^1.15.0

## Alternatives

- [@cantoo/pdf-lib](https://npm.io/package/@cantoo/pdf-lib.md) — 297.9K weekly downloads
- [datatables.net-buttons](https://npm.io/package/datatables.net-buttons.md) — 200.1K weekly downloads
- [@ckeditor/ckeditor5-export-pdf](https://npm.io/package/@ckeditor/ckeditor5-export-pdf.md) — 167.0K weekly downloads
- [scanbot-web-sdk](https://npm.io/package/scanbot-web-sdk.md) — 15.0K weekly downloads
- [@syncfusion/ej2-angular-pdfviewer](https://npm.io/package/@syncfusion/ej2-angular-pdfviewer.md) — 8.8K weekly downloads

## Recent versions

- 2.1.3 (latest) — 2026-04-22
- 2.1.2 — 2023-11-22
- 2.1.1 — 2023-11-03
- 2.1.0 — 2023-11-03
- 2.0.11 — 2023-10-07
- 2.0.10 — 2023-09-21
- 2.0.9 — 2023-09-05
- 2.0.8 — 2021-09-30
- 2.0.7 — 2021-09-29
- 1.0.7 — 2021-06-13
- 1.0.6 — 2021-06-13
- 1.0.5 — 2021-06-13
- 1.0.4 — 2021-06-13
- 1.0.3 — 2021-06-13
- 1.0.2 — 2021-06-13
- … 13 more at https://npm.io/package/ray-doc-render/versions

## README

# ray-doc-render

## author

ilex.h

## useage

### code beauty

`webpack.config.js`

#### webpack 1.x

```js

const codeBeauty = require('ray-doc-render/lib/beauty/codeBeauty');
// const rayDocRender = require('ray-doc-render');

{
  module: {
    ...
    loaders: [
      { test: /\.md$/, loader: 'html!ray-md-loader' }
    ]
  },
  rayMdLoader: {
    highlight: (code, lang) => codeBeauty(code, lang)
  }
}
```

#### webpack 2.x +

```js

const mdRender = require('ray-doc-render/lib/customRender');
// const rayDocRender = require('ray-doc-render');

{
  test: /\.md$/,
  use: [{
    loader: 'html-loader'
  }, {
    loader: 'ray-md-loader',
    options: {
      pedantic: true,
      renderer: mdRender
    }
  }]
}
```

### render

* advancedRender

* customRender

  - img 图片

```conf
    ![](/qr.png)
    ![alt](/qr.png)
    ![alt#200*200](/qr.png)
    ![alt#200px*200px](/qr.png)
    ![alt#20%*20%](/qr.png)
    ![alt#20%*20%](/qr.png "title content")
```

  - link 超链接

```conf
    [菜单1](#menu1)
    [外部](www.baidu.com)
    [额外标题](www.baidu.com "外部链接")
```

  - catalog 目录 如下，放在 md 文件顶部，采用 `------catalog  和 ------catalogEnd` 或者采用 `-[toc]start 和 -[toc]end` 进行包裹

```conf
  ------catalog

    * [1 菜单1](#使用说明)
    * [2 菜单2](#版本说明)
      * [2.1 V1.3.4](#V1.3.4)
      * [2.2 V2.0.0](#V2.0.0)

  ------catalogEnd
```

### prettyMarked

since v1.0.8

同 marked，仅仅只是设置了 `highlight` 和 `renderer`

```js
import prettyMarked from 'ray-doc-render/lib/prettyMarked';

// or import marked from 'ray-doc-render/lib/prettyMarked';

prettyMarked('Hello!');
prettyMarked(
`
# header

## subheader
`
);
```

### highlight

```js
// usePrism
import usePrism from 'ray-doc-render/lib/highlight/usePrism';

usePrism(); // prism.highlightAll();
```

### custom render

* list `ul ol class="ray-doc-list"`
* list item `li class="ray-doc-list-item"`

## changelog

### 2023-11-3 v2.1.1

* fix marked default func, why? because marked@4.3.0 defaults marked is not or func

### 2023-11-2 v2.1.0

* update `marked@4.3.0`

### 2023-9-21 v2.0.10

* fix code rules. add python

### 2020-8-13 v2.0.5

* 修改 `renderer.heading`, 当 head 中出现 html 标签时，minify 解析失败的问题
* 修改其它bug

### 2019-2-26 v2.0.0

* 去掉 `highlight.js`, why? 由于使用到的依赖 less 版本过低，与其它组件产生冲突。同时自定义的 lang 在 `highlight.js` 中不支持。
* 添加 `prismjs`

### 2019-2-26 v2.0.1

* modify entry file bugs

## License

MIT

---
_Source: https://npm.io/package/ray-doc-render · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
