Skip to content

Latest commit

 

History

History
81 lines (53 loc) · 2.21 KB

README_CN.md

File metadata and controls

81 lines (53 loc) · 2.21 KB

English | 简体中文

mp-darkmode

NPM version

微信公众平台图文 Dark Mode 转换算法。

安装

1. 下载模块

下载最新版本

或者通过 npm 安装:

npm i mp-darkmode

2. 引入模块

(1) 如果未使用 AMD/CMD 规范,可直接在 HTML 中以 <script> 方式引入模块:

<script src="path/to/darkmode.min.js"></script>
<script>
  // 运行Dark Mode转换算法
  Darkmode.run(document.body.querySelectorAll('*')); // 处理body下的所有DOM节点
</script>

(2) 如果使用了 AMD/CMD 规范,可使用 require() 方式引入模块:

var Darkmode = require('path/to/darkmode.min.js');

// 运行Dark Mode转换算法
Darkmode.run(document.body.querySelectorAll('*')); // 处理body下的所有DOM节点

基本用法

Darkmode.run(nodes[, options])

  • nodes <DOM Object Array> 要进行 Dark Mode 转换的 DOM 节点数组。
  • options <Object> Dark Mode 转换算法配置项。
    • options.error <Function> 发生 error 时触发的回调。
      • err <Error> 错误对象。
    • options.mode <string> 强制指定的颜色模式( dark | light ),指定了就不监听系统颜色。

运行 Dark Mode 转换算法。

Darkmode.run(document.body.querySelectorAll('*'), {
  mode: 'dark' // 强制指定深色模式
});

更多详细用法可参考 API

插件

v1.1.0 开始支持插件,可以在转换过程中进行自定义操作,比如过滤 DOM 属性。插件的使用方法如下:

Darkmode.extend([pluginA, pluginB, pluginC]);

如果你想编写自己的 Dark Mode 插件,可以参考这里

处理原则

详见图文富文本内容 Dark Mode 处理原则

贡献

算法持续更新优化中,如果你有好的想法,可以 Fork 本项目后提交你的代码,具体开发可参考开发手册