├── .gitignore ├── README.md └── editions ├── library ├── tiddlers │ └── system │ │ ├── modules │ │ └── commands │ │ │ └── makelibrary.js │ │ └── templates │ │ └── library.template.html.tid └── tiddlywiki.info └── plugins ├── tiddlers ├── content │ ├── examples │ │ ├── Counting_List_Item_Iterations.tid │ │ ├── Define_Variable_Using_Complex_Logic_And_Algebra.tid │ │ ├── Dynamic_Link_Macro.tid │ │ ├── Extracting_Introductions_From_Tiddlers.tid │ │ ├── Generating_A_Unique_Invoice_Number.tid │ │ ├── Quick_Edit_Tabs.tid │ │ ├── Search_Multiple_Fields_With_A_Subfilter.tid │ │ ├── Set_Variable_To_List_Item_Via_Split.tid │ │ └── Tag_Button_Popups_In_Columns.tid │ └── main │ │ ├── Examples.tid │ │ └── Welcome.tid └── system │ ├── config │ ├── SiteSubtitle.tid │ ├── SiteTitle.tid │ ├── template │ │ └── tabs.tid │ └── view.tid │ ├── core │ ├── macros │ │ └── tabs.tid │ └── ui │ │ └── ViewTemplate │ │ └── title.tid │ ├── templates │ └── plugin-topics.tid │ └── ui │ └── ViewTemplate │ └── title.tid └── tiddlywiki.info /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .c9/ 3 | tmp/ 4 | output/ 5 | **/*StoryList.tid 6 | build.* 7 | themes/* 8 | plugins/* 9 | languages/* -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## TiddlyWiki Plugins [![flattr me](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=beertobias&url=https://github.com/tobibeer/tw5-plugins&title=TiddlyWiki plugins by tobibeer&language=JavaScript&tags=github&category=software) 2 | 3 | 4 | [tobibeer.github.io/tw5-plugins](http://tobibeer.github.io/tw5-plugins) 5 | 6 | a repository containing the documentation for plugins by [tobibeer](https://github.com/tobibeer) for [TiddlyWiki5](http://tiddlywiki.com) -------------------------------------------------------------------------------- /editions/library/tiddlers/system/modules/commands/makelibrary.js: -------------------------------------------------------------------------------- 1 | /*\ 2 | title: $:/core/modules/commands/makelibrary.js 3 | type: application/javascript 4 | module-type: command 5 | 6 | Command to pack all of the plugins in the library into a plugin tiddler of type "library" 7 | 8 | \*/ 9 | (function(){ 10 | 11 | /*jslint node: true, browser: true */ 12 | /*global $tw: false */ 13 | "use strict"; 14 | 15 | exports.info = { 16 | name: "makelibrary", 17 | synchronous: true 18 | }; 19 | 20 | var UPGRADE_LIBRARY_TITLE = "$:/UpgradeLibrary"; 21 | 22 | var Command = function(params,commander,callback) { 23 | this.params = params; 24 | this.commander = commander; 25 | this.callback = callback; 26 | }; 27 | 28 | Command.prototype.execute = function() { 29 | var wiki = this.commander.wiki, 30 | fs = require("fs"), 31 | path = require("path"), 32 | upgradeLibraryTitle = this.params[0] || UPGRADE_LIBRARY_TITLE, 33 | tiddlers = {}; 34 | // Collect up the library plugins 35 | var collectPlugins = function(folder) { 36 | var pluginFolders = fs.readdirSync(folder); 37 | for(var p=0; p 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | TiddlyWiki library for plugins by Tobias Beer 13 | 17 | 18 | 19 | 20 |

Hello Visitor

21 | 22 |

This is the library for tobibeer/plugins. It is not intended to be opened directly in the browser.

23 | 24 |

See tobibeer.github.io/tw5-plugins for details of how to install plugins.

25 | 26 | 27 | -------------------------------------------------------------------------------- /editions/library/tiddlywiki.info: -------------------------------------------------------------------------------- 1 | { 2 | "description": "tobibeer plugin library", 3 | "plugins": [ 4 | "tiddlywiki/pluginlibrary" 5 | ], 6 | "themes": [ 7 | ], 8 | "includeWikis": [ 9 | ], 10 | "build": { 11 | "library": [ 12 | "--makelibrary","$:/UpgradeLibrary", 13 | "--savelibrarytiddlers","$:/UpgradeLibrary","[prefix[$:/plugins/tobibeer/]]","recipes/library/tiddlers/","$:/UpgradeLibrary/List", 14 | "--savetiddler","$:/UpgradeLibrary/List","recipes/library/tiddlers.json", 15 | "--rendertiddler","$:/plugins/tiddlywiki/pluginlibrary/library.template.html","index.html","text/plain"] 16 | } 17 | } -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Counting_List_Item_Iterations.tid: -------------------------------------------------------------------------------- 1 | created: 20170201071817313 2 | creator: Tobias Beer 3 | modified: 20170201073100274 4 | modifier: Tobias Beer 5 | summary: this example demonstrates how to generate counts for list iterations using the filters <> and <> 6 | tags: make Examples split 7 | title: Counting List Item Iterations 8 | type: text/vnd.tiddlywiki 9 | 10 | In the below example, we iterate through the simple filter of the titles `A B C` and use: 11 | 12 | ; <> 13 | : to add a counter as a prefix separated by colons `::` to each title 14 | ; <> 15 | : to extract the ''count'' into a variable by that name using 16 | : to extract the original ''title'' into a variable by that name 17 | 18 | <$macrocall $name="`" text="""<$list filter="A B C +[make[%count%::%title%]]"> 19 | <$set name="count" filter="[all[current]split:first[::]]"> 20 | <$set name="title" filter="[all[current]split:last[::]]"> 21 | <$text text=<>/> 22 | => 23 | __<$text text=<>/>__: ''<$text text=<>/>''<br> 24 | </$set> 25 | </$set> 26 | </$list>"""/> 27 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Define_Variable_Using_Complex_Logic_And_Algebra.tid: -------------------------------------------------------------------------------- 1 | created: 20160107121615794 2 | creator: Tobias Beer 3 | modified: 20160107121747951 4 | modifier: Tobias Beer 5 | summary: use the [[setvars]] widget to define variables from a complex calculation and logical evaluation using [[eval]] 6 | tags: setvars eval Examples 7 | title: Define Variable Using Complex Logic And Algebra 8 | type: text/vnd.tiddlywiki 9 | 10 | ``` 11 | <$setvars 12 | _eval = """[[]eval[and( 13 | "{{setvars-Conditionals!!true}}", 14 | "{{setvars-Conditionals!!false}}" 15 | )]]""" 16 | _multiply = "[[]eval[ 17 | {{setvars-Conditionals!!ten}} * 18 | {{setvars-Conditionals!!five}} 19 | ]]" 20 | _divide = "[[]eval[ 21 | {{setvars-Conditionals!!ten}} / 22 | {{setvars-Conditionals!!five}} 23 | ]]" 24 | result="([eval] == \true\ ? [multiply]) || [divide]"> 25 | 26 | !! ''Result'' = <<result>><br/> 27 | ''true'' = "{{setvars-Conditionals!!true}}"<br/> 28 | ''false'' = "{{setvars-Conditionals!!false}}"<br/> 29 | ''ten'' = "{{setvars-Conditionals!!ten}}"<br/> 30 | ''five'' = "{{setvars-Conditionals!!five}}"<br/> 31 | </$setvars> 32 | ``` 33 | 34 | <<< 35 | <$setvars 36 | _eval = """[[]eval[and( 37 | "{{setvars-Conditionals!!true}}", 38 | "{{setvars-Conditionals!!false}}" 39 | )]]""" 40 | _multiply = "[[]eval[ 41 | {{setvars-Conditionals!!ten}} * 42 | {{setvars-Conditionals!!five}} 43 | ]]" 44 | _divide = "[[]eval[ 45 | {{setvars-Conditionals!!ten}} / 46 | {{setvars-Conditionals!!five}} 47 | ]]" 48 | result="([eval] == \true\ ? [multiply]) || [divide]"> 49 | 50 | !! ''Result'' = <<result>><br/> 51 | ''true'' = "{{setvars-Conditionals!!true}}"<br/> 52 | ''false'' = "{{setvars-Conditionals!!false}}"<br/> 53 | ''ten'' = "{{setvars-Conditionals!!ten}}"<br/> 54 | ''five'' = "{{setvars-Conditionals!!five}}"<br/> 55 | </$setvars> 56 | <<< -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Dynamic_Link_Macro.tid: -------------------------------------------------------------------------------- 1 | created: 20160107110353091 2 | creator: Tobias Beer 3 | modified: 20160107110610112 4 | modifier: Tobias Beer 5 | summary: routes a link to tiddlywiki.com if no local tiddler exists while encoding the title using the [[hash]] filter, allowing a pretty title 6 | tags: Macros setvars hash Examples 7 | title: Dynamic Link Macro 8 | type: text/vnd.tiddlywiki 9 | 10 | <<source "$://macro/route">> 11 | 12 | @@.note 13 | ''Note:'' Notice how the link variable refers to the title variable declared before it! 14 | @@ 15 | 16 | <$macrocall $name="`" text="""Want to <<route "Customise TiddlyWiki" "customize">> TiddlyWiki? Go check out my <<route Plugins plugins>>!"""/> 17 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Extracting_Introductions_From_Tiddlers.tid: -------------------------------------------------------------------------------- 1 | created: 20161005054316972 2 | creator: Tobias Beer 3 | modified: 20161009150745559 4 | modifier: Tobias Beer 5 | summary: extracting introductory content from tiddlers using the [[split]] filter 6 | tags: Examples filter split 7 | title: Extracting Introductions From Tiddlers 8 | type: text/vnd.tiddlywiki 9 | 10 | Here's how you can use the <<tw "splitbefore Operator">> to extract introductory lines at the beginning of a tiddler~~~~, separated from the rest of the content using a separator like `~~~~`. 11 | 12 | <$macrocall $name="`" text="""<$list filter="[all[current]get[text]splitbefore[~~~~]addsuffix[...]]"> 13 | 14 | //<<currentTiddler>>// 15 | </$list>"""/> 16 | 17 | Take a look at the source of this tiddler to find the separator right where you expect it. 18 | 19 | //''Note:'' One __major__ pitfall of this method is that you __cannot__ define <<tw Macros>> in the source tiddler. If you definitely want support for macro definitions, keep on reading...// 20 | 21 | !! Methods Of Extraction 22 | 23 | To extract a summary, abstract or excerpt for a tiddler you have a wide range of options. 24 | 25 | The first thing you want to decide is where you want to store the introduction. My preferred method so far has been to use a ''summary'' field which I could then transclude where needed or show using a [[Conditional ViewTemplate Section|http://tobibeer.github.io/tb5/#Conditional%20ViewTemplate%20Section]] at the current tiddler. 26 | 27 | However, TiddlyWiki currently lacks sufficient support for multi-line fields, especially under <<tw Node.js>>. This means that if you want to have line breaks in such a field, you have to literally declare them as html elements, e.g. `<br>`. 28 | 29 | !! Using Macros 30 | 31 | The following global ''intro'' macro provides a handy way to extract an excerpt from either the current tiddler or the one specified as the first parameter while making use of and depending on the plugin <<tb split>>. 32 | 33 | Here, in order to define an introduction, you would use the following markup using a macro called `intro:` which won't output anything at all until you create a <<tw Macros "global macro">> for it that does: 34 | 35 | ``` 36 | <<intro: """ 37 | 38 | A multi-line intro with... 39 | 40 | ; some lists 41 | : and stuff""">> 42 | ``` 43 | 44 | ''Note'': The triple single quotes are very much part of the detection pattern and thus mandatory. 45 | 46 | This method does not interfere with macro definitions at the top of a tiddler. As a fallback, the ''intro'' macro below retrieves the introduction from a ''summary'' field. 47 | 48 | <<source $:/.tb/macros/intro>> 49 | 50 | ''Example:'' 51 | 52 | <$macrocall $name="`" text="""<<intro>>"""/> 53 | 54 | This one would fallback to extracting the ''summary'' field from the tiddler [[Library]] since it does not contain any ''intro:'' macro holding an introduction: 55 | 56 | <$macrocall $name="`" text="""<<intro Library>>"""/> 57 | 58 | To show such a hidden intro or summary for every tiddler, you can use a [[Conditional ViewTemplate Section|http://tobibeer.github.io/tb5/#Conditional%20ViewTemplate%20Section]] like this: 59 | 60 | ``` 61 | title: $:/.tb/ui/ViewTemplate/intro 62 | tags: $:/tags/ViewTemplate 63 | list-before: $:/core/ui/ViewTemplate/body 64 | 65 | <<intro>> 66 | ``` 67 | 68 | To actually show an intro where defined using the provided ''intro:'' macro, simply declare its second parameter as `show`, e.g.: 69 | 70 | ``` 71 | <<intro: """Actually show this where defined.""" show>> 72 | ``` 73 | 74 | > <<intro: """Actually show this where defined.""" show>> 75 | 76 | !! Fetching HTML Comments 77 | 78 | Another, equally as safe method — avoiding the problem of leading macro definitions — could be to extract an excerpt from an html comment that otherwise does not get rendered. It is perfect when you don't necessarily want a multi-line introduction to always be displayed directly in the tiddler where it is defined. 79 | 80 | This is what the comment might look like: 81 | 82 | ``` 83 | <!--: 84 | 85 | This is a very hidden multi-line introduction: 86 | 87 | * Open this tiddler, its actually in this very code block. ;-) 88 | * Crazy, right? 89 | --> 90 | ``` 91 | 92 | And this is how you would display it: 93 | 94 | ``` 95 | <$list filter="[all[current]get[text] 96 | split:pos=2[<!--:] 97 | split:first[-->]limit[1]]"> 98 | 99 | <<currentTiddler>> 100 | </$list> 101 | ``` 102 | 103 | <<< 104 | <$list filter="[all[current]get[text]split:pos=2[<!--:]split:first[-->]limit[1]]"> 105 | 106 | <<currentTiddler>> 107 | </$list> 108 | <<< 109 | 110 | !! Fetching The First Paragraph 111 | 112 | You could also extract the first paragraph as the introduction, i.e. up to the first two line-breaks. As [[sini-Kit kindly pointed out|https://groups.google.com/d/msg/tiddlywiki/uxErdg4wPWk/9BrcEH20EwAJ]], you can actually achieve the desired result simply using the core <<tw "splitbefore Operator">> like so: 113 | 114 | <$macrocall $name="`" text="""<$list filter="[all[current]get[text]splitbefore[ 115 | 116 | ]addsuffix[...]]"> 117 | 118 | //<<currentTiddler>>// 119 | </$list>"""/> 120 | 121 | //''Note:'' Again, this method suffers from no support for leading macro definitions.// 122 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Generating_A_Unique_Invoice_Number.tid: -------------------------------------------------------------------------------- 1 | created: 20160107151116142 2 | creator: Tobias Beer 3 | customer: Company Foo 4 | division: Doo 5 | fiscal-year: 2016 6 | modified: 20160107152843001 7 | modifier: Tobias Beer 8 | summary: using the [[setvars]] widget to generate the variables needed for an action button using the [[make]] filter to generate unique, zero-padded titles 9 | tags: Examples make setvars 10 | title: Generating A Unique Invoice Number 11 | type: text/vnd.tiddlywiki 12 | 13 | Below, the action details of a button are specified with a [[setvars]] widget that refreshes at every click and uses the [[make]] filter to join text-bits into the two variables that it sets, a description and a unique, zero-padded invoice number used as the title. 14 | 15 | <$macrocall $name="`" text="""<$setvars $refresh 16 | _desc="[[]make[{{!!customer}}, {{!!division}}]]" 17 | description="[desc[][][]]" 18 | _num="[[]make[2016-\pad:5\sep:]]" 19 | invoice-number="[num[1][][]]"> 20 | <$button> 21 | <$action-sendmessage 22 | $message="tm-new-tiddler" 23 | title=<<invoice-number>> 24 | tags="Invoice" 25 | invoice-description=<<description>>/> 26 | New Invoice 27 | </$button> 28 | </$setvars>"""/> 29 | 30 | {{{ [tag[Invoice]] }}} -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Quick_Edit_Tabs.tid: -------------------------------------------------------------------------------- 1 | created: 20160118132340543 2 | creator: Tobias Beer 3 | modified: 20160118234907003 4 | modifier: Tobias Beer 5 | summary: using <<tb inc>> to quick edit tab contents 6 | tags: Examples inc 7 | title: Quick Edit Tabs 8 | type: text/vnd.tiddlywiki 9 | 10 | The below modifications allow to use <<tb inc>> for tab-contents. To make the solution work in your wiki with <<tb inc>> installed, copy these tiddlers to your wiki: 11 | 12 | # $:/core/macros/tabs 13 | #* a modified version of the core <<x "tabs Macro" tabs>> macro using a default template 14 | # $:/config/templates/tabs 15 | #* specifies the default template for tab contents 16 | 17 | !! Details 18 | 19 | As of TiddlyWiki <<version>>, the core does not yet use [[a template for default tab contents|https://github.com/Jermolene/TiddlyWiki5/issues/2236]]. In this wiki, a default template is defined in an ''overwritten'' version of the core ''tabs'' macro using a <<x SetWidget>> around the tab contents in [[$:/core/macros/tabs]]: 20 | 21 | ``` 22 | <$set name="tab-template" value="""$template$""" 23 | emptyValue={{$:/config/templates/tabs}}> 24 | <$transclude tiddler=<<tab-template>> mode="block"/> 25 | </$set> 26 | ``` 27 | 28 | Here, if a template parameter is specified for the ''tabs'' macro it is always used otherwise the template is read from <<source "$:/config/templates/tabs">> 29 | 30 | Whereas <<source "$:/plugins/tobibeer/inc/templates/tabs">> 31 | 32 | !! Example 33 | 34 | Notice the toolbar of <<tb inc>> when hovering the tab contents in the transcluded $:/core/ui/ControlPanel/Appearance below. 35 | 36 | {{$:/core/ui/ControlPanel/Appearance}} -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Search_Multiple_Fields_With_A_Subfilter.tid: -------------------------------------------------------------------------------- 1 | created: 20160108175357857 2 | creator: Tobias Beer 3 | modified: 20160109205115625 4 | modifier: Tobias Beer 5 | summary: how to evaluate subfilters using the operator [[filter]] to search multiple fields at once, optionally using the [[split]] filter 6 | tags: Examples filter split 7 | title: Search Multiple Fields With A Subfilter 8 | type: text/vnd.tiddlywiki 9 | 10 | Below, the variable ''find'' defines a subfilter to be searched using the filter operator ''filter'' to search for the word `evaluate` in both the ''title'' or ''summary'' fields, replaced in the ''find'' subfilter in turn using the placeholder `%inputTitle%`: 11 | 12 | <$macrocall $name="`" text="""<$vars term="evaluate" 13 | find="[all[tiddlers]!is[system]search:%inputTitle%<term>]"> 14 | 15 | <$count filter="title summary +[filter<find>]"/>: 16 | 17 | {{{ title summary +[filter<find>] }}} 18 | </$vars>"""/> 19 | 20 | You can also feed a number of fields using a variable and the [[split]] filter like so: 21 | 22 | <$macrocall $name="`" text="""<$vars term="evaluate" 23 | fields="title summary" 24 | find="[all[tiddlers]!is[system]search:%inputTitle%<term>]"> 25 | 26 | <$count filter="[<fields>split[ ]filter<find>]"/>: 27 | 28 | {{{ [<fields>split[ ]filter<find>] }}} 29 | </$vars>"""/> 30 | 31 | Here's the same using a named variable: 32 | 33 | <$macrocall $name="`" text="""<$vars term="evaluate" 34 | fields="title summary" 35 | find="[all[tiddlers]!is[system]search:%field%<term>]"> 36 | 37 | <$count filter="[<fields>split[ ]filter:var:field<find>]"/>: 38 | 39 | {{{ [<fields>split[ ]filter:var:field<find>] }}} 40 | </$vars>"""/> 41 | 42 | Here's the equivalent output using OR syntax: 43 | 44 | <$macrocall $name="`" text="""<$vars term="evaluate"> 45 | 46 | <$count filter=" 47 | [!is[system]search:title<term>] 48 | [!is[system]search:summary<term>]"/>: 49 | 50 | {{{ 51 | [!is[system]search:title<term>] 52 | [!is[system]search:summary<term>] 53 | }}} 54 | 55 | </$vars>"""/> 56 | 57 | This example returns the actual fields where the search term could be found in the fields ''title'', ''tags'', ''summary'' and ''doesnt-exist'': 58 | 59 | <$macrocall $name="`" text="""<$vars term="evaluate" 60 | fields="title tags summary doesnt-exist" 61 | find="[all[tiddlers]!is[system]search:%inputTitle%<term>]"> 62 | 63 | <$count filter="[<fields>split[ ]filter:$<find>]"/>: 64 | 65 | {{{ [<fields>split[ ]filter:$<find>] }}} 66 | </$vars>"""/> 67 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Set_Variable_To_List_Item_Via_Split.tid: -------------------------------------------------------------------------------- 1 | created: 20160107105337026 2 | creator: Tobias Beer 3 | modified: 20160107114339555 4 | modifier: Tobias Beer 5 | summary: using the [[setvars]] widget to declare a variable evaluating an attribute using the [[split]] filter returning a desired list item 6 | tags: split setvars Examples 7 | title: Set Variable To List Item Via Split 8 | type: text/vnd.tiddlywiki 9 | 10 | In the below example, the [[setvars]] widget is used to declare a variable called ''7th'' evaluating the attribute ''items'' with the [[split]] filter returning the seventh item in the list: 11 | 12 | <$macrocall $name="`" text="""<$setvars 7th="[items[7]]" _items="[[1 0 0 0 0 3 4 8 9 10]split[ ]]"> 13 | <<7th>> 14 | </$setvars>"""/> 15 | 16 | !! Duplicates 17 | 18 | @@.note 19 | ''Important:'' By default, TiddlyWiki does not allowing duplicate titles in filters. 20 | @@ 21 | 22 | For example: 23 | 24 | <<` """{{{ 1 0 0 0 0 3 4 8 9 10 }}} """>> 25 | 26 | And then: 27 | 28 | <$macrocall $name="`" text="""<$setvars 7th="[items[7]]" _items="1 0 0 0 0 3 4 8 9 10"> 29 | <<7th>> 30 | </$setvars>"""/> 31 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/examples/Tag_Button_Popups_In_Columns.tid: -------------------------------------------------------------------------------- 1 | created: 20160107114619983 2 | creator: Tobias Beer 3 | modified: 20160907203106972 4 | modifier: Tobias Beer 5 | summary: use column-count, a remote popup handler, and the [[appear]] widget in the custom template [[$:/.tb/templates/TagTemplate]] 6 | tags: appear Examples 7 | title: Tag Button Popups In Columns 8 | type: text/vnd.tiddlywiki 9 | 10 | <$macrocall $name="`" text="""<div class="tb-taglist-columns"> 11 | <$list filter="Filters Libraries Macros Plugins Widgets"> 12 | <div class="tb-taglist-item"> 13 | <small class="tc-menu-list-count"><$count filter="[all[current]tagging[]]"/></small> 14 | <$transclude tiddler="$:/.tb/templates/TagTemplate"/> 15 | </div> 16 | </$list> 17 | </div>"""/> 18 | 19 | <style> 20 | button.pink { 21 | color:deeppink; 22 | } 23 | </style> 24 | 25 | @@.note 26 | ''Note:'' The popups of the above example would be cut-off at the column edge without using the handler attribute, e.g. if using the core <<x PopupMechanism>> alone. 27 | @@ 28 | 29 | ; $:/.tb/templates/TagTemplate 30 | : the above uses a modified version of $:/core/ui/TagTemplate, implementing the appear widget and taking popups out of the flow to not cut popups off within columns 31 | 32 | !! Comparison 33 | 34 | Here is what the core, unfortunately, would make of the above. Try clicking a tag button to see the problem. 35 | 36 | <$macrocall $name="`" text="""<div class="tb-taglist-columns"> 37 | <$list filter="Filters Libraries Macros Plugins Widgets"> 38 | <div class="tb-taglist-item"> 39 | <small class="tc-menu-list-count"><$count filter="[all[current]tagging[]]"/></small> 40 | <$transclude tiddler="$:/core/ui/TagTemplate"/> 41 | </div> 42 | </$list> 43 | </div> 44 | """/> 45 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/main/Examples.tid: -------------------------------------------------------------------------------- 1 | created: 20160107103708502 2 | creator: Tobias Beer 3 | modified: 20160107111304958 4 | modifier: Tobias Beer 5 | tags: 6 | title: Examples 7 | type: text/vnd.tiddlywiki 8 | 9 | Demonstations of my [[plugins|Plugins]]: -------------------------------------------------------------------------------- /editions/plugins/tiddlers/content/main/Welcome.tid: -------------------------------------------------------------------------------- 1 | title: Welcome 2 | 3 | This wiki provides the documentation for all [[TiddlyWiki]] plugins by [[Tobias Beer]]. 4 | 5 | @@.note 6 | ''Tip:'' To keep up to date or find new plugins, add my [[Library]] to your wiki. 7 | @@ 8 | 9 | {{Plugins}} 10 | 11 | For more TiddlyWiki solutions, see: 12 | 13 | http://tobibeer.github.io/tb5 -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/config/SiteSubtitle.tid: -------------------------------------------------------------------------------- 1 | title: $:/SiteSubtitle 2 | 3 | docs for plugins by [[tobibeer|https://github.com/tobibeer]] -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/config/SiteTitle.tid: -------------------------------------------------------------------------------- 1 | title: $:/SiteTitle 2 | 3 | [[plugins|Plugins]] -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/config/template/tabs.tid: -------------------------------------------------------------------------------- 1 | title: $:/config/templates/tabs 2 | 3 | $:/plugins/tobibeer/inc/templates/tabs -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/config/view.tid: -------------------------------------------------------------------------------- 1 | created: 20160107112345251 2 | creator: Tobias Beer 3 | modified: 20160107112346500 4 | modifier: Tobias Beer 5 | title: $:/view 6 | type: text/vnd.tiddlywiki 7 | 8 | top -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/core/macros/tabs.tid: -------------------------------------------------------------------------------- 1 | title: $:/core/macros/tabs 2 | tags: $:/tags/Macro 3 | 4 | \define tabs(tabsList,default,state:"$:/state/tab",class,template) 5 | <div class="tc-tab-set $class$"> 6 | <div class="tc-tab-buttons $class$"> 7 | <$list filter="$tabsList$" variable="currentTab"><$set name="save-currentTiddler" value=<<currentTiddler>>><$tiddler tiddler=<<currentTab>>><$button set=<<qualify "$state$">> setTo=<<currentTab>> default="$default$" selectedClass="tc-tab-selected" tooltip={{!!tooltip}}> 8 | <$tiddler tiddler=<<save-currentTiddler>>> 9 | <$set name="tv-wikilinks" value="no"> 10 | <$transclude tiddler=<<currentTab>> field="caption"> 11 | <$macrocall $name="currentTab" $type="text/plain" $output="text/plain"/> 12 | </$transclude> 13 | </$set></$tiddler></$button></$tiddler></$set></$list> 14 | </div> 15 | <div class="tc-tab-divider $class$"/> 16 | <div class="tc-tab-content $class$"> 17 | <$list filter="$tabsList$" variable="currentTab"> 18 | 19 | <$reveal type="match" state=<<qualify "$state$">> text=<<currentTab>> default="$default$"> 20 | <$set name="tab-template" value="""$template$""" emptyValue={{$:/config/templates/tabs}}> 21 | <$transclude tiddler=<<tab-template>> mode="block"/> 22 | </$set> 23 | </$reveal> 24 | 25 | </$list> 26 | </div> 27 | </div> 28 | \end 29 | -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/core/ui/ViewTemplate/title.tid: -------------------------------------------------------------------------------- 1 | created: 20151125135349732 2 | creator: Tobias Beer 3 | modified: 20151125144521169 4 | modifier: Tobias Beer 5 | tags: $:/tags/ViewTemplate 6 | title: $:/core/ui/ViewTemplate/title 7 | type: text/vnd.tiddlywiki 8 | 9 | \define title-styles() 10 | fill:$(foregroundColor)$; 11 | \end 12 | \define config-title() 13 | $:/config/ViewToolbarButtons/Visibility/$(listItem)$ 14 | \end 15 | <div class="tc-tiddler-title"> 16 | <div class="tc-titlebar"> 17 | <span class="tc-tiddler-controls"> 18 | <$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$transclude tiddler=<<listItem>>/></$reveal></$list> 19 | </span> 20 | <$set name="foregroundColor" value={{!!color}}> 21 | <span class="tc-tiddler-title-icon" style=<<title-styles>>> 22 | <$transclude tiddler={{!!icon}}/> 23 | </span> 24 | </$set> 25 | <$list filter="[all[current]removeprefix[$:/]]"> 26 | <h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}> 27 | <span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/> 28 | </h2> 29 | </$list> 30 | <$list filter="[all[current]!prefix[$:/]]"> 31 | <h2 class="tc-title"> 32 | {{||$:/.tb/ui/ViewTemplate/title}} 33 | </h2> 34 | </$list> 35 | </div> 36 | 37 | <$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes"> 38 | 39 | <$transclude tiddler="$:/core/ui/TiddlerInfo"/> 40 | 41 | </$reveal> 42 | </div> -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/templates/plugin-topics.tid: -------------------------------------------------------------------------------- 1 | title: $:/.tb/templates/plugin-topics 2 | 3 | \define tabs() $(plugin)$!!tabs 4 | 5 | <$list filter="[list<tabs>]"><$list filter="[all[current]addprefix<prefix>]" variable="topic"><$link to=<<topic>>><$view field="title"/></$link></$list></$list> -------------------------------------------------------------------------------- /editions/plugins/tiddlers/system/ui/ViewTemplate/title.tid: -------------------------------------------------------------------------------- 1 | created: 20151125135422305 2 | creator: Tobias Beer 3 | modified: 20151207002537754 4 | modifier: Tobias Beer 5 | title: $:/.tb/ui/ViewTemplate/title 6 | type: text/vnd.tiddlywiki 7 | 8 | \define title-popup() <<pop » "$:/.tb/templates/plugin-topics" "pretty pop-tiddler title-popup" btn-class:"tc-btn-invisible btn-title-popup">> 9 | \define prefix() $(plugin)$- 10 | \define basic-title() 11 | <$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}> 12 | <$link> 13 | <$view field="title"/> 14 | </$link> 15 | </$set> 16 | \end 17 | 18 | <$list filter="[all[current]addprefix[$:/plugins/tobibeer/]is[tiddler]]" variable="pluginTiddler"> 19 | <$vars plugin=<<currentTiddler>>> 20 | <$link><<titlePrefix>><$view field="title"/></$link> <<title-popup>> 21 | </$vars> 22 | </$list> 23 | <$list filter="[all[current]addprefix[$:/plugins/tobibeer/]!is[tiddler]]" variable="X"> 24 | <$list filter="[all[current]split:first[-]]" variable="plugin"> 25 | <$list filter="[<plugin>addprefix[$:/plugins/tobibeer/]is[tiddler]]" variable="pluginTiddler"> 26 | <$link to=<<plugin>>><$text text=<<plugin>>/></$link> 27 | <$list filter="[all[current]removeprefix<prefix>]" variable="topic"> 28 | <<title-popup>> 29 | <$text text=<<topic>>/> 30 | </$list> 31 | </$list> 32 | <$list filter="[<plugin>addprefix[$:/plugins/tobibeer/]!is[tiddler]]" variable="X"> 33 | <<basic-title>> 34 | </$list> 35 | </$list> 36 | <$list filter="[all[current]!split[-]]" variable="X"> 37 | <<basic-title>> 38 | </$list> 39 | </$list> -------------------------------------------------------------------------------- /editions/plugins/tiddlywiki.info: -------------------------------------------------------------------------------- 1 | { 2 | "description": "tobibeer plugin documentation", 3 | "plugins": [ 4 | "tiddlywiki/tiddlyweb", 5 | "tiddlywiki/filesystem" 6 | ], 7 | "themes": [ 8 | "tiddlywiki/vanilla", 9 | "tiddlywiki/snowwhite" 10 | ], 11 | "includeWikis": [ 12 | "../../../defaults/editions/defaults", 13 | "../../../appear/editions/appear", 14 | "../../../base64/editions/base64", 15 | "../../../contains/editions/contains", 16 | "../../../count/editions/count", 17 | "../../../dict/editions/dict", 18 | "../../../dom/editions/dom", 19 | "../../../escape/editions/escape", 20 | "../../../eval/editions/eval", 21 | "../../../external/editions/external", 22 | "../../../filter/editions/filter", 23 | "../../../hash/editions/hash", 24 | "../../../inc/editions/inc", 25 | "../../../join/editions/join", 26 | "../../../make/editions/make", 27 | "../../../math.js/editions/math.js", 28 | "../../../plantuml/editions/plantuml", 29 | "../../../preview/editions/preview", 30 | "../../../rate/editions/rate", 31 | "../../../random/editions/random", 32 | "../../../setvars/editions/setvars", 33 | "../../../sparkl/editions/sparkl", 34 | "../../../split/editions/split", 35 | "../../../sysinfo/editions/sysinfo", 36 | "../../../toc/editions/toc", 37 | "../../../value/editions/value", 38 | "../../../xlist/editions/xlist" 39 | ], 40 | "build": { 41 | "index": [ 42 | "--output","../../", 43 | "--rendertiddler","$:/plugins/tiddlywiki/tiddlyweb/save/offline","index.html","text/plain" 44 | ] 45 | } 46 | } --------------------------------------------------------------------------------