Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2234839/siyuan_expr
思源 expr
https://github.com/2234839/siyuan_expr
siyuan siyuan-note siyuan-plugin
Last synced: about 1 month ago
JSON representation
思源 expr
- Host: GitHub
- URL: https://github.com/2234839/siyuan_expr
- Owner: 2234839
- License: mit
- Created: 2024-05-15T08:11:39.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-09-14T03:13:13.000Z (4 months ago)
- Last Synced: 2024-10-14T07:36:51.446Z (3 months ago)
- Topics: siyuan, siyuan-note, siyuan-plugin
- Language: TypeScript
- Homepage:
- Size: 837 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 思源表达式插件
[中文文档](./README.md) [English doc](./README_en.md)
[使用文档](#使用文档)
qq 群:706761641 (心栈空间)
### 同意以下约定后方可使用本产品
试用约定:
你可以试用任意时长,当你觉得本产品对你有用时一个月后失去试用资格。
---
付费约定:
在订阅时间内你可以使用本产品。
视同订阅的情况:你对崮生本人有过任意形式的帮助、你对社会有过公认的贡献、无法支付。
订阅金额:等价 10 人民币,可采取任意支付方式,不限制时间(你可以决定任意时间后采取任意付费措施,但现在就开始使用)。
订阅时间:从付费之时到一百次产品更新的使用权或 365 天,取时间跨度更长的作为订阅时间,可叠加。(即如果我在极短时间内更新了超过一百次则按一年计算)
[通过爱发电平台付费](https://afdian.com/@llej0)
在你不记得上述约定的情况下不视为违反付费约定。
---
禁止使用与免责约定:
禁止使用本产品用于任意违法乱纪相关行为。
作者不为你使用本产品所产生的任何后果负责。
## 使用文档
给块添加自定义属性 expr ,值设置为合法 js 表达式,插件会使用 eval 对表达式进行求值,返回值将作为块内容以及自定义属性 expr-value 的值。
值如果为 Promise 会将 Promise 的结果作为块内容。
### 自动求值
插件会不断对发生变化的块进行求值,但为了避免产生大量运算和读写,依据块的 update 字段进行了一些优化,在插件初次启动时会对所有表达式进行一次求值。
之后每当触发一次页签切换事件时(switch-protyle),会对所有加载的表达式块以及更新了的块进行一次求值
如果你不想插件不断求值暂时可已打开开发者工具输入 `expr.intervalUpdateSql.set(false)` 来关闭自动求值(页签切换事件还是会触发)
注意![更新块属性并不会导致块的 update 字段更新](https://github.com/2234839/siyuan_expr/issues/1#issuecomment-2147809646),如果想要触发求值,可以手动随意修改一下块内容。
### 表达式内可以直接引用的一些特殊变量
#### expr
插件实例
#### block
表达式可以直接输入 block 来获取表达式所在块的数据,其中以 `a_` 开头的为 custom-expr 的属性,其余均为块属性。
```js
const block = {
a_block_id: "块id",
a_box: "笔记本id",
a_id: "属性id",
a_name: "custom-expr",
a_path: "/文档id/文档id/文档id.sy",
a_root_id: "文档id",
a_type: "b",
a_value: "表达式脚本",
alias: "",
box: "笔记本id",
content: "块内容",
created: "20240605121837",
fcontent: "",
hash: "f570917",
hpath: "可读路径",
ial: "块属性"
id: "块id",
length: 16,
markdown: "块内容 markdown",
memo: "",
name: "",
parent_id: "父块id",
path: "/文档id/文档id/文档id.sy",
root_id: "文档id",
sort: 10,
subtype: "",
tag: "",
type: "p",
updated: "20240605134312"
}
```## 鸣谢
十分感谢以下非常有爱的人
[Jeffrey Chen ](https://github.com/TCOTC)