README
drifloon
该项目既像类库(提供能单独使用的工具函数),又有一套框架(基于流式的cycle.js),她更像是能够快速开发油猴脚本的方案。
内部提供非常多的函数用于交互DOM;又集成了cycle.js,编写复杂的界面也不在话下。
整个方案都围绕函数式,我们并不排斥副作用,我们关心的是如何将它们隔离。更多用法与例子,参见文档。
编译、发布
代码都在当前node LTS
下运行、编译。项目中并未使用到什么新颖特性,为安全起见,最好能使用相同版本node。
安装依赖
$ npm install
编译
$ npm run build
顺利之后,在dist/
中就能看到对应版本的目标文件,格式为drifloon.{version}.js
,{version}
即是package.json
中的version。
发布、使用
编译后得到就是一整个依赖库。可以像普通的js文件一样,托管到静态服务,通过浏览器就能直接访问。
部署完成后,进行油猴管理界面(不同扩展用法不同),新建脚本,并添加几行:
// @require http:://你的静态服务地址/drifloon.{版本}.js
// 以下正文
const { F } = M;
// ...
一切顺利就能得么整个模块M
,之后就能愉快地写脚本了。
typescript
不打算提供typescript支持,或更换成typescript,最核心的理由就是ts不支持柯里化,rambda提供的curry
函数,最终还是生成各种any
类型,与其如此,不如直接用js。
作为依赖库
已在npm发布,可以通过npm安装正常使用。
需要注意,不要使用GX
模块,该模块封装了油猴GM_*
,除非运行于油猴环境中。
const { F } = require("drifloon");
// ...
生成文档
这里有个脚本可以生成pdf格式的文档。前提必须安装fish shell及morelull。
$ ./doc.fish
运行测试
$ npm run test