Skip to content

Commit

Permalink
Update Wiki编程的定义.tid
Browse files Browse the repository at this point in the history
  • Loading branch information
Zacharia2 committed Jan 5, 2025
1 parent ffd211b commit 89c9494
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions tiddlers/Wiki编程的定义.tid
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
class: autonumhead
created: 20230809234409764
creator: 星蓝
modified: 20250105142626630
modified: 20250105143304460
modifier: 星蓝
tags: 插件开发
title: Wiki编程的定义
Expand Down Expand Up @@ -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<currentTiddler>]`、大括号表示该参数是一个文本引用。例如:`[tag{preference}]`、筛选器操作符支持多个参数,这些参数由一个 , 字符分隔。`[param1],[param2]`或`<param1>,{param2}`。例子:`[<jsondata>jsonextract[d],[f],[0]]`。参考[[筛选器参数|https://bramchen.github.io/tw5-docs/zh-Hans/#Filter%20Parameter]]。调用筛选器有两种方式:先定义函数,然后调用函数`<<myfn param:"value">>`;嵌入筛选器`{{{ [[ ]] }}}`。
其中函数不仅可以用角括号调用,还可以通过function筛选器操作符作为函数筛选器操作符使用:`[function[myfn],[value],···]`。函数定义是包含筛选器表达式的有名称命名的文本片段。使用`\function`编译指示模式定义。筛选器其实非常常见,比如Excel中、Linq语言集成查询、DQL关系型数据库查询语言等等。
Expand Down

0 comments on commit 89c9494

Please sign in to comment.