diff --git "a/tiddlers/Wiki\347\274\226\347\250\213\347\232\204\345\256\232\344\271\211.tid" "b/tiddlers/Wiki\347\274\226\347\250\213\347\232\204\345\256\232\344\271\211.tid" index eeb85c1..8ad35eb 100644 --- "a/tiddlers/Wiki\347\274\226\347\250\213\347\232\204\345\256\232\344\271\211.tid" +++ "b/tiddlers/Wiki\347\274\226\347\250\213\347\232\204\345\256\232\344\271\211.tid" @@ -1,7 +1,7 @@ class: autonumhead created: 20230809234409764 creator: 星蓝 -modified: 20250105142626630 +modified: 20250105143304460 modifier: 星蓝 tags: 插件开发 title: Wiki编程的定义 @@ -43,7 +43,7 @@ Wiki编程是在条目中进行定义、调用不同形式封装或定义的方 关于tiddlywiki的笔记模型,可以想象成一个Excel表格,表格中的每一行都代表tiddlywiki的一个条目。每一个条目都有自己的字段,这些字段就相当于Excel表格的每一列,字段的字段名相当于表格的表头定义。可以想象,tiddlywiki是一张无限多条目记录的表格。该表格中比较特殊的字段列是title、tag、type、text等字段。其中text字段是条目的核心字段,它关联了解析器模式用于展示笔记或编程内容。 -由上述笔记模型可以理解''范本条目''也就是模版,也就是在条目中使用嵌入语法,嵌入某个条目的某个字段列。如:你可以新建名为A范本的条目,在条目中写下`{{!!title}}` 类似Excel的单元格引用的条目中某个字段的文本引用,此文本引用类似一个Excel单元格地址指向具体内容。然后你可以新建B普通条目,在条目中写下 `{{||A范本}}`,这样就会将B普通条目的全部字段传递给A范本。A范本中的文本引用会自动填充为B普通条目字段内容,最后将A范本填充好的内容嵌入到B普通条目中。 +由上述笔记模型可以进而理解''范本条目''(模版):就是在条目中使用嵌入语法,嵌入某个条目的某个字段列。如:你可以新建名为A范本的条目,在条目中写下`{{!!title}}` 类似Excel的单元格引用的条目中某个字段的文本引用,此文本引用类似一个Excel单元格地址指向具体内容。然后你可以新建B普通条目,在条目中写下 `{{||A范本}}`,这样就会将B普通条目的全部字段传递给A范本。A范本中的文本引用会自动填充为B普通条目字段内容,最后将A范本填充好的内容嵌入到B普通条目中。 因为tiddlywiki的笔记模型非常简洁稳定,所以自然而然的引出筛选器并函数这类称为输出的功能。筛选器中也会存在变量的使用,一般分为特殊变量、角括号<>、大括号{}、多参数。角括号表示该参数是一个变量名称。例如:`[search]`、大括号表示该参数是一个文本引用。例如:`[tag{preference}]`、筛选器操作符支持多个参数,这些参数由一个 , 字符分隔。`[param1],[param2]`或`,{param2}`。例子:`[jsonextract[d],[f],[0]]`。参考[[筛选器参数|https://bramchen.github.io/tw5-docs/zh-Hans/#Filter%20Parameter]]。调用筛选器有两种方式:先定义函数,然后调用函数`<>`;嵌入筛选器`{{{ [[ ]] }}}`。 其中函数不仅可以用角括号调用,还可以通过function筛选器操作符作为函数筛选器操作符使用:`[function[myfn],[value],···]`。函数定义是包含筛选器表达式的有名称命名的文本片段。使用`\function`编译指示模式定义。筛选器其实非常常见,比如Excel中、Linq语言集成查询、DQL关系型数据库查询语言等等。