mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2026-01-26 12:53:42 +00:00
Compare commits
32 Commits
v5.2.5
...
twpub-badg
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8bf917ccc9 | ||
|
|
485bf19c3c | ||
|
|
5aa5fc72b1 | ||
|
|
af1cc56c0c | ||
|
|
5bf60cd26f | ||
|
|
4546828541 | ||
|
|
db88eed88f | ||
|
|
166f68cc15 | ||
|
|
0039c2134b | ||
|
|
4d040d2499 | ||
|
|
aeec6aee23 | ||
|
|
f9efbd93b1 | ||
|
|
b7c420393c | ||
|
|
9574506a89 | ||
|
|
13c0f3c5e2 | ||
|
|
0ee53bbc01 | ||
|
|
494ee984f8 | ||
|
|
9c70ee34d4 | ||
|
|
51acc24b0a | ||
|
|
c5ce1d78a2 | ||
|
|
67beafe359 | ||
|
|
b33b41e1fc | ||
|
|
d57abcbb23 | ||
|
|
8a2fad2499 | ||
|
|
666e2a795f | ||
|
|
43214c1cc6 | ||
|
|
87c3e53299 | ||
|
|
3a7a3d64c2 | ||
|
|
c819b2d365 | ||
|
|
119813529d | ||
|
|
ae18c2e19b | ||
|
|
d217826375 |
@@ -1,6 +1,6 @@
|
||||
title: HelloThere
|
||||
|
||||
This is a demo of TiddlyWiki5 incorporating a plugin for the [[D3.js]] visualization library.
|
||||
This is a demo of TiddlyWiki5 incorporating a plugin for the [[D3.js]] visualisation library.
|
||||
|
||||
! Word Cloud
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ sectionnumber: 2
|
||||
tags: section doc
|
||||
title: Microkernel Architecture
|
||||
|
||||
This section describes the architecture of the ~TiddlyWiki-kernel. ~TiddlyWiki is based on a micro-kernel which provides only a small stack of functions. This design decision was made to introduce a cleaner mechanism for customization of ~TiddlyWiki. This section also describes the data-model of ~TiddlyWiki called tiddler. And it gives a overview to the modul system which developers can use to extend the functionality of the ~TiddlyWiki application.
|
||||
This section describes the architecture of the ~TiddlyWiki-kernel. ~TiddlyWiki is based on a micro-kernel which provides only a small stack of functions. This design decision was made to introduce a cleaner mechanism for customisation of ~TiddlyWiki. This section also describes the data-model of ~TiddlyWiki called tiddler. And it gives a overview to the module system which developers can use to extend the functionality of the ~TiddlyWiki application.
|
||||
|
||||
<$list filter="[!has[draft.of]has[chapter.of]chapter.of[Microkernel Architecture]tag[doc]sort[sub.num]]">
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@ sub.num: 3
|
||||
tags: doc
|
||||
title: Syncadaptor
|
||||
|
||||
A module with ``module-type: syncadaptor`` provides functionality to get a list of tiddlers (this list is provided as ~SkinnyTiddlers, which are normal tiddlers without the text field) and to load, save and delete single tiddlers. A syncadaptor can also provide functions to login and logout so that syncadaptor modules can be used to synchronize tiddlers with a remote server.
|
||||
A module with ``module-type: syncadaptor`` provides functionality to get a list of tiddlers (this list is provided as ~SkinnyTiddlers, which are normal tiddlers without the text field) and to load, save and delete single tiddlers. A syncadaptor can also provide functions to login and logout so that syncadaptor modules can be used to synchronise tiddlers with a remote server.
|
||||
|
||||
The syncer module only uses one syncadaptor and honours a special [[system tiddler|System Tiddlers]] [[$:/config/SyncFilter]] containing a [[filter string|Tags and Filter Mechanism]]. Tiddlers matching this filter string are saved to the server with a syncadapter. It uses the [[WebServer API|https://tiddlywiki.com/#WebServer%20API%3A%20Get%20All%20Tiddlers]] to load modified tiddlers from the server, which returns only non-system tiddlers.
|
||||
|
||||
@@ -27,10 +27,10 @@ On a different level, a tiddler is also the basic unit of work for the wiki user
|
||||
This makes sense for multiple reasons:
|
||||
Because the UI of TiddlyWiki is build from tiddlers, the wiki user is able to edit the interface of his own TiddlyWiki just by editing a wiki page.
|
||||
For example to add a list of tiddler links to the sidebar, the user just needs to create a new tiddler, put the links into this tiddler and tag this tiddler with ``$:/tags/SideBar``.
|
||||
This way the user can customize his work environment just by using mechanisms he already uses to manage his wiki pages.
|
||||
This way the user can customise his work environment just by using mechanisms he already uses to manage his wiki pages.
|
||||
Tiddlers consist of fields. When using a tiddler as wiki page, the user can use these fields to store meta information, like tags.
|
||||
|
||||
Because fields for metadata and especially tags are an easy way for the user to organize his wiki pages, TiddlyWiki provides a special filter mechanism to choose tiddlers using their metadata.
|
||||
Because fields for metadata and especially tags are an easy way for the user to organise his wiki pages, TiddlyWiki provides a special filter mechanism to choose tiddlers using their metadata.
|
||||
A filter string like ``[tag[learncard]topic[math]!tag[successful]]`` would filter all tiddlers tagged with "learncard", with the value "math" in the topic-field and are not tagged with "successful".
|
||||
A user could use this filter together with the ``<$list>`` widget to display a list of all math learncards which are not yet answered successfully in a wiki page.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ The most practical way to develop plugins is to use Node.js with the tiddlywiki5
|
||||
|
||||
!! 1. Installation
|
||||
|
||||
First read https://tiddlywiki.com/static/PluginMechanism.html.
|
||||
First read https://tiddlywiki.com/static/PluginMechanism.html.
|
||||
|
||||
Install Git from http://git-scm.com/downloads
|
||||
|
||||
@@ -85,7 +85,7 @@ For example files see the plugins in the ~TiddlyWiki5 repository i.e. those loca
|
||||
|
||||
!!5. Build your files into a ~TiddlyWiki
|
||||
|
||||
Modify `editions/tw5.com/tiddlywiki.info` to include a reference to your plugin directory, i.e. find `"plugins": [ ` and add `"yourname/pluginname"`.
|
||||
Modify `editions/tw5.com/tiddlywiki.info` to include a reference to your plugin directory, i.e. find `"plugins": [ ` and add `"yourname/pluginname"`.
|
||||
|
||||
From the TW5 directory issue the command
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ The boot kernel includes:
|
||||
* Several short shared utility functions
|
||||
* A handful of methods implementing the module mechanism
|
||||
* The `$tw.Tiddler` class (and field definition plugins)
|
||||
* The `$tw.Wiki` class (and tiddler deserialization methods)
|
||||
* The `$tw.Wiki` class (and tiddler deserialisation methods)
|
||||
* Code for the browser to load tiddlers from the HTML DOM
|
||||
* Code for the server to load tiddlers from the file system
|
||||
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
caption: Beaker Browser
|
||||
color: #FF8A65
|
||||
created: 20161229121316912
|
||||
delivery: App
|
||||
description: Nouveau navigateur puissant pour Mac, Windows et Linux
|
||||
fr-title: Enregistrer avec Beaker Browser
|
||||
method: save
|
||||
modified: 20220402105820520
|
||||
tags: Saving Windows Linux Mac
|
||||
title: Saving on Beaker Browser
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.from-version "5.1.14">> <<tw>> intègre un module qui lui permet d'enregistrer les modifications directement avec [[Beaker Browser]], un navigateur internet en peer-to-peer expérimental.
|
||||
|
||||
! Instructions
|
||||
|
||||
# Téléchargez et installez Beaker Browser depuis https://beakerbrowser.com/
|
||||
# Lancez Beaker et si nécessaire ouvrez un onglet vers l'adresse `beaker:start`
|
||||
# Cliquez sur le bouton <<gf "New site">> en haut à gauche de la page
|
||||
# Saisissez les détails sur votre site
|
||||
# Cliquez sur le lien <<gf "Add files">> et sélectionnez le fichier `index.html` de votre <<tw>>
|
||||
# Naviguez sur votre site en cliquant sur le lien vers `index.html`<<;>> il devrait s'ouvrir dans un nouvel onglet
|
||||
# Essayez de créer des tiddlers et d'enregistrer les modifications
|
||||
|
||||
Jusque là, le wiki est entièrement privé et les autres utilisateurs ne peuvent pas en voir le contenu, même en connaissant l'URL. Pour le partager avec d'autres utilisateurs<<:>>
|
||||
|
||||
# Publiez vos modifications
|
||||
## Visitez la page <<gf Library>> à l'aide du menu <<gf System>> de Beaker Browser
|
||||
## Sélectionnez votre site dans la liste
|
||||
## Recherchez un encart <<gf "Unpublished changes">>. S'il n'est pas présent, passez au point suivant
|
||||
## Cliquez sur le bouton <<gf "Review changes">>
|
||||
## Cliquez sur le bouton <<gf "Publish">>
|
||||
# Partagez l'URL `dat:`
|
||||
## Copiez l'URL de votre site à partir de la barre d'adresse et partagez-la avec d'autres utilisateurs
|
||||
## Les autres utilisateurs devraient pouvoir accéder à votre site mais ils ne pourront pas le modifier avant d'en avoir fait leur propre clone
|
||||
@@ -117,7 +117,7 @@ Output:
|
||||
|
||||
Unordered (bulleted) lists use asterisks, pluses, and hyphens (`*`,
|
||||
`+`, and `-`) as list markers. These three markers are
|
||||
interchangable; this:
|
||||
interchangeable; this:
|
||||
|
||||
* Candy.
|
||||
* Gum.
|
||||
@@ -264,7 +264,7 @@ it easy to use Markdown to write about HTML example code:
|
||||
I strongly recommend against using any `<blink>` tags.
|
||||
|
||||
I wish SmartyPants used named entities like `—`
|
||||
instead of decimal-encoded entites like `—`.
|
||||
instead of decimal-encoded entities like `—`.
|
||||
|
||||
Output:
|
||||
|
||||
@@ -273,7 +273,7 @@ Output:
|
||||
|
||||
<p>I wish SmartyPants used named entities like
|
||||
<code>&mdash;</code> instead of decimal-encoded
|
||||
entites like <code>&#8212;</code>.</p>
|
||||
entities like <code>&#8212;</code>.</p>
|
||||
|
||||
|
||||
To specify an entire block of pre-formatted code, indent every line of
|
||||
|
||||
@@ -15,7 +15,7 @@ You can have multiple template tiddlers that use the same input and options tidd
|
||||
|
||||
!!Display tiddler
|
||||
|
||||
This is the container used to display the section in the résumé itself, there isn't any customization here.
|
||||
This is the container used to display the section in the résumé itself, there isn't any customisation here.
|
||||
|
||||
''Required tags'': `Section Display`<br>
|
||||
''Required name format'': `$:/display/(section name) Display`<br>
|
||||
|
||||
@@ -268,7 +268,7 @@ describe("Widget module", function() {
|
||||
expect(wrapper.innerHTML).toBe("<p>Happy Result</p>");
|
||||
|
||||
// This is important. $Let needs to be aware enough not to let its
|
||||
// own variables interfere with its ability to recognize no change.
|
||||
// own variables interfere with its ability to recognise no change.
|
||||
// Doesn't matter that nothing has changed, we just need to make sure
|
||||
// it recognizes that that its outward facing variables are unchanged
|
||||
// EVEN IF some intermediate variables did change, there's no need to
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
created: 20210101162308245
|
||||
modified: 20210101201435693
|
||||
modified: 20230110220417543
|
||||
tags: [[Community Editions]]
|
||||
title: "TiddlyResearch" by Kebi
|
||||
url: https://kebifurai.github.io/TiddlyResearch/
|
||||
title: "TiddlyStudy" by Kebi
|
||||
type: text/vnd.tiddlywiki
|
||||
url: https://postkevone.github.io/tiddlystudy/
|
||||
|
||||
A adaptation of TiddlyWiki perfect for using as a Notebook sysetem.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
title: Open Collective
|
||||
modified: 20221204165636777
|
||||
created: 20221204165636777
|
||||
tags: About HelloThere [[Open Collective]]
|
||||
tags: About HelloThere
|
||||
|
||||
Open Collective is a platform for transparent fundraising and expenses for projects like TiddlyWiki. It is the official TiddlyWiki community fundraising space.
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
title: TiddlyWiki Newsletter
|
||||
|
||||
Subscribe to the ~TiddlyWiki Newsletter here:
|
||||
|
||||
<iframe src="https://tiddlywiki.substack.com/embed" width="480" height="320" style="border:1px solid #EEE; background:white;" frameborder="0" scrolling="no"></iframe>
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
created: 20210101161529206
|
||||
modified: 20210101201435693
|
||||
modified: 20230110220010665
|
||||
tags: [[Community Editions]]
|
||||
title: "Drift - Collect, Organise, Grow." by Tony K
|
||||
url: https://akhater.github.io/drift/
|
||||
type: text/vnd.tiddlywiki
|
||||
url: https://github.com/bmann/drift-tiddlywiki-template/tree/master/drift
|
||||
|
||||
A adaptation of TiddlyWiki perfect for using as a Notebook sysetem.
|
||||
|
||||
{{!!url}}
|
||||
|
||||
<<<
|
||||
Drift is an adaptation of TiddlyWiki with the goal of helping you Collect. Organize. and Grow. your ideas while keeping tab on how they interconnect together and fluidly Drift from one to another.
|
||||
Drift is an adaptation of TiddlyWiki with the goal of helping you Collect. Organise. and Grow. your ideas while keeping tab on how they interconnect together and fluidly Drift from one to another.
|
||||
|
||||
The 2 main components of Drift are TWCrosslinks and DailyNotes so you never miss an idea
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ title: "Noteself" by Danielo Rodríguez
|
||||
type: text/vnd.tiddlywiki
|
||||
url: https://noteself.github.io/
|
||||
|
||||
~NoteSelf is your personal, private, customizable, Evernote-like experience.
|
||||
~NoteSelf is your personal, private, customisable, Evernote-like experience.
|
||||
You want cloud? Fine! You don't? Fine too! It's all yours, It's your decision!
|
||||
Why not be a bit selfish?
|
||||
|
||||
@@ -26,9 +26,9 @@ You already know and love Evernote, we know it. It is comfortable, it syncs, has
|
||||
Wow, it's almost perfect, but what about:
|
||||
|
||||
* Privacy - Everything is stored on the Evernote's servers!
|
||||
* Customization - If you don't like the interface of Evernote, there's nothing you can do
|
||||
* Customisation - If you don't like the interface of Evernote, there's nothing you can do
|
||||
|
||||
~NoteSelf is built on top of ~TiddlyWiki, a powerful, free, highly customizable and open-source personal wiki.
|
||||
We took the best of it, it's powerful customization system, and mixed it with one of the best
|
||||
embedded databases available, [[PouchDb|http://www.pouchdb.com]], for bringing the synchronization capabilities you need.
|
||||
~NoteSelf is built on top of ~TiddlyWiki, a powerful, free, highly customisable and open-source personal wiki.
|
||||
We took the best of it, it's powerful customisation system, and mixed it with one of the best
|
||||
embedded databases available, [[PouchDb|http://www.pouchdb.com]], for bringing the synchronisation capabilities you need.
|
||||
<<<
|
||||
|
||||
@@ -11,7 +11,7 @@ A thesis notebook based on TiddlyWiki.
|
||||
<<<
|
||||
This is an example of a thesis notebook powered by TiddlyWiki 5.0.8-beta.
|
||||
|
||||
TiddlyWiki is a great piece of software created by Jeremy Ruston. It allows you, among other things, to take notes, organize ideas, store information, and display all your stuff the way you want. It is an incredibly flexible tool you can adapt to fit almost all your needs.
|
||||
TiddlyWiki is a great piece of software created by Jeremy Ruston. It allows you, among other things, to take notes, organise ideas, store information, and display all your stuff the way you want. It is an incredibly flexible tool you can adapt to fit almost all your needs.
|
||||
|
||||
This TiddlyWiki has been customized to serve as a philosophy notebook centered around authors, books and papers, concepts and theories, and personal notes. I use it along with Zotero, which is a dedicated bibliography software. Both are free, open source projects. TiddlyWiki can be downloaded at https://tiddlywiki.com.
|
||||
<<<
|
||||
|
||||
@@ -12,11 +12,11 @@ A collection of plugins from TheDiveO.
|
||||
[[TheDiveO's Third Flow|http://thediveo.github.io/ThirdFlow/]] plugin construction system:
|
||||
|
||||
<<<
|
||||
The ~ThirdFlow plugin brings to you another way to develop customization plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.
|
||||
The ~ThirdFlow plugin brings to you another way to develop customisation plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.
|
||||
<<<
|
||||
|
||||
[[TheDiveO's FontAwesome|http://thediveo.github.io/TW5FontAwesome/]] plugin:
|
||||
|
||||
<<<
|
||||
The FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customization plugin instead, so nothing else to install.
|
||||
The FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customisation plugin instead, so nothing else to install.
|
||||
<<<
|
||||
|
||||
@@ -9,7 +9,7 @@ Shiraz plugin is a very small in size and framework to create stylish contents i
|
||||
|
||||
{{!!url}}
|
||||
|
||||
Shiraz plugin contains extended markups, macros, styles, and many customization to empty Tiddlywiki and can be used as a ''starter kit''.
|
||||
Shiraz plugin contains extended markups, macros, styles, and many customisation to empty Tiddlywiki and can be used as a ''starter kit''.
|
||||
|
||||
Some of Shiraz features are:
|
||||
|
||||
@@ -18,7 +18,7 @@ Some of Shiraz features are:
|
||||
* Sortable tables
|
||||
* Display on demand, slider, and details
|
||||
* Images, basic image macros, slidein, and overlay images, polaroid and pretty images
|
||||
* Table customization tools
|
||||
* Table customisation tools
|
||||
* Sticky footer
|
||||
* Multi columns tiddler
|
||||
* Multi column story river
|
||||
|
||||
@@ -11,8 +11,8 @@ An interactive network visualisation plugin based on [[Vis.js|http://visjs.org]]
|
||||
~TiddlyMap is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable graphs. By creating relations between your topics you can easily do the following:
|
||||
|
||||
* Create concept maps and quickly manifest your ideas in tiddlers.
|
||||
* Create task-dependency graphs to organize and describe your tasks.
|
||||
* Visualize your topic structures to get an immediate grasp of topics and relations.
|
||||
* Create task-dependency graphs to organise and describe your tasks.
|
||||
* Visualise your topic structures to get an immediate grasp of topics and relations.
|
||||
|
||||
In general you may create, visualize and describe any network-structure you have in mind.
|
||||
In general you may create, visualise and describe any network-structure you have in mind.
|
||||
<<<
|
||||
|
||||
@@ -10,5 +10,5 @@ An early release of an edition of TiddlyWiki customised for rigorous, academic n
|
||||
{{!!url}}
|
||||
|
||||
<<<
|
||||
TiddlyWiki for Scholars is a personal customization of TiddlyWiki 5.0.13-beta I made for note-taking from readings, but it can be useful for other purposes. The idea behind this adaptation is to show and to allow creating relevant data related to the current tiddler without leaving the tiddler.
|
||||
TiddlyWiki for Scholars is a personal customisation of TiddlyWiki 5.0.13-beta I made for note-taking from readings, but it can be useful for other purposes. The idea behind this adaptation is to show and to allow creating relevant data related to the current tiddler without leaving the tiddler.
|
||||
<<<
|
||||
|
||||
@@ -13,4 +13,4 @@ Tiddlyshow contains the following features
|
||||
|
||||
* Tools for preparing slides
|
||||
* Shortcut keys for navigation (forward and backward)
|
||||
* Themes to colorify and customize the slideshow
|
||||
* Themes to colorify and customise the slideshow
|
||||
|
||||
@@ -9,6 +9,6 @@ Todolist is a small pure wikitext plugin, contain all tools to work with todo l
|
||||
|
||||
{{!!url}}
|
||||
|
||||
With Todolist, easily organize and prioritize your tasks and projects so you’ll always know exactly what to work on next.
|
||||
With Todolist, easily organise and prioritise your tasks and projects so you’ll always know exactly what to work on next.
|
||||
|
||||
Todolist creates custom UI and lets you to add new items, set priority, done/undone items, archive, delete. Using Todolist plugin it is possible to create several todo lists in one Tiddlywiki.
|
||||
|
||||
@@ -5,7 +5,7 @@ title: "Slides and Stories" by Jan
|
||||
type: text/vnd.tiddlywiki
|
||||
url: http://slidesnstories.tiddlyspot.com
|
||||
|
||||
Slides and Stories is a repository of the tools to optimize TW for scientific research and for presenting and publishing results.
|
||||
Slides and Stories is a repository of the tools to optimise TW for scientific research and for presenting and publishing results.
|
||||
|
||||
{{!!url}}
|
||||
|
||||
|
||||
@@ -12,5 +12,5 @@ A collection of customisations and macros from Danielo Rodriguez.
|
||||
<<<
|
||||
This is my personal tiddlywiki file for testing.
|
||||
|
||||
Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the comunity gave me can came back to the comunity again.
|
||||
Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the community gave me can came back to the community again.
|
||||
<<<
|
||||
|
||||
@@ -5,14 +5,14 @@ title: Semantic Colors by Mohammad
|
||||
type: text/vnd.tiddlywiki
|
||||
url: https://kookma.github.io/TW-Semantic-Colors/
|
||||
|
||||
Semantic colors are set of CSS to apply colorful theme to individual tiddlers for categorization purpose.
|
||||
Semantic colors are set of CSS to apply colorful theme to individual tiddlers for categorisation purpose.
|
||||
|
||||
{{!!url}}
|
||||
|
||||
Tiddlywiki "semantic colors" has two objectives:
|
||||
|
||||
# How it is simply possible to apply theme to an individual tiddler
|
||||
# Use semantic colors for categorization
|
||||
# Use semantic colors for categorisation
|
||||
|
||||
;Some use cases
|
||||
:Learning materials (each topic, category can have dedicated semantic color, like learning a foreign language)
|
||||
|
||||
@@ -20,7 +20,7 @@ I've been using TiddlyWiki5 with Google Firebase for over a year now. It's stabl
|
||||
|
||||
Please consider this version a proof of concept rather than a polished product! My focus was on multi-device or small-team collaboration:
|
||||
|
||||
* Basic authorization (bags have an access policy determining who can read / write them).
|
||||
* Basic authorisation (bags have an access policy determining who can read / write them).
|
||||
* Multiple wikis can be hosted under a single firebase account.
|
||||
* It uses Firebase's built-in social auth to log in users.
|
||||
* Tiddlers are written individually with locking, preventing users overwriting each others' updates.
|
||||
|
||||
@@ -18,7 +18,7 @@ An extension to the Node.js configuration of TiddlyWiki that adds support for st
|
||||
<<<
|
||||
TiddlyServer 2.0 takes the server command of TiddlyWiki on NodeJS and adds it to a static file server. This means you can load and serve any TiddlyWiki data folder in the same way you can serve a single file TiddlyWiki.
|
||||
|
||||
But you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organize them into virtual folders (aka aliases in Apache and mounts in Express).
|
||||
But you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organise them into virtual folders (aka aliases in Apache and mounts in Express).
|
||||
|
||||
The main point, of course, is that you can actually edit your files, not just look at them. Single file TiddlyWikis use the put saver, which needs to be patched using a bookmarklet included on the index page. The instructions for this are below under the heading "One thing that needs to be noted".
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ title: "Dropboard" by Reid Gould
|
||||
type: text/vnd.tiddlywiki
|
||||
url: https://github.com/reidgould/tiddlywiki-dropboard
|
||||
|
||||
A TiddlyWiki plugin for kanban-like organization in the style of Trello™ using boards, lists, and cards.
|
||||
A TiddlyWiki plugin for kanban-like organisation in the style of Trello™ using boards, lists, and cards.
|
||||
|
||||
{{!!url}}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ Relative coordinates are expressed in the form ''(x,y,w,h)''. Where ''x'' and ''
|
||||
|
||||
!! Absolute coordinate system
|
||||
|
||||
The relative coordinate system works flawless most of the time. Problems occure if the target element (for example, a popup) and the source element (the triggering button) do not share the same positioned ancherstor element. This is often the case if the popup is declared outside a table and the triggering button is declared within a table cell. In this case the coordiante systems have different origins and the popup will be displayed in the wrong location.
|
||||
The relative coordinate system works flawless most of the time. Problems occure if the target element (for example, a popup) and the source element (the triggering button) do not share the same positioned ancestor element. This is often the case if the popup is declared outside a table and the triggering button is declared within a table cell. In this case the coordinate systems have different origins and the popup will be displayed in the wrong location.
|
||||
|
||||
Absolute coordinates can fix this problem by using the root element of the page (the upper-left corner of the page) as the origin of the coordinate system. Absolute coordinates are expressed in the form ''@(x,y,w,h)''. Where ''x'' and ''y'' represent the position and ''w'' and ''h'' the width and height of the element. The leading ''@''-symbol marks these coordinates as absolute.
|
||||
|
||||
@@ -30,7 +30,7 @@ The ButtonWidget has an option (''popupAbsCoords'') to put absolute coordinates
|
||||
|
||||
!! Example
|
||||
|
||||
The following example shows a popup that is triggerd from within a table cell. The table cell is the nearest positioned ancestor element. The popup was defined outside the table cell. The button using relative coordinates will open the popup in the wrong location because the button and the popup do not agree on the same coordinate system. Using absolute coordinates fixes this problem.
|
||||
The following example shows a popup that is triggered from within a table cell. The table cell is the nearest positioned ancestor element. The popup was defined outside the table cell. The button using relative coordinates will open the popup in the wrong location because the button and the popup do not agree on the same coordinate system. Using absolute coordinates fixes this problem.
|
||||
|
||||
<<wikitext-example-without-html '<$reveal type="popup" state="$:/state/CoordinateSampleReveal">
|
||||
<div class="tc-drop-down">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20150219175930000
|
||||
modified: 20220122182842041
|
||||
modified: 20230117112239663
|
||||
tags: Concepts [[WikiText Parser Modes]]
|
||||
title: Pragma
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -17,4 +17,6 @@ The following pragmas are available:
|
||||
;`\whitespace trim` or `\whitespace notrim`
|
||||
: <<.from-version "5.1.15">> Control whether whitespace is trimmed from the start and end of text runs (the default is ''notrim''). This setting can be useful when the whitespace generated by linebreaks disturbs formatting
|
||||
;`\import <filter-expression>`
|
||||
: <<.from-version "5.1.18">> for importing macro definitions from tiddlers identified by a filter expression
|
||||
: <<.from-version "5.1.18">> Import macro definitions from tiddlers identified by a filter expression
|
||||
;`\parsermode block` or `\parsermode inline`
|
||||
: <<.from-version "5.2.4">> Adjust whether the remaining text is parsed in block mode or inline mode.
|
||||
@@ -3,4 +3,4 @@ tags: Concepts
|
||||
|
||||
Groups of uniquely titled tiddlers are contained in WikiStore objects.
|
||||
|
||||
The WikiStore also manages the plugin modules used for widgets, and operations like serializing, deserializing, parsing and rendering tiddlers.
|
||||
The WikiStore also manages the plugin modules used for widgets, and operations like serialising, deserialising, parsing and rendering tiddlers.
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: Definitions
|
||||
title: GitHub
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
GitHub is a hosting service for distributed projects that use git as their version-control system. It allows free hosting and management of open-source projects and facilitates collaborative developement on the source code. Using GitHub for non-open-source endeavors requires additional fees.
|
||||
GitHub is a hosting service for distributed projects that use git as their version-control system. It allows free hosting and management of open-source projects and facilitates collaborative development on the source code. Using GitHub for non-open-source endeavours requires additional fees.
|
||||
|
||||
The code and documentation of TiddlyWiki is hosted on GitHub at:
|
||||
|
||||
|
||||
27
editions/tw5.com/tiddlers/definitions/TWPub.tid
Normal file
27
editions/tw5.com/tiddlers/definitions/TWPub.tid
Normal file
@@ -0,0 +1,27 @@
|
||||
title: TWPub
|
||||
tags: Federatial
|
||||
|
||||
! Introduction
|
||||
|
||||
The TWPub format slices publications into independent chunks with metadata. These chunks are then packed into a special type of TiddlyWiki plugin for ease of distribution. The benefit of the chunking is to be able to reference and remix material, and support active reading.
|
||||
|
||||
A command line tool is provided that can convert existing EPUB format publications into the new TWPub format. The demo also provides a library of the top 100 public domain books from [[Project Gutenberg|https://www.gutenberg.org/]] preconverted into the TWPub format.
|
||||
|
||||
TWPubs can be imported into any TiddlyWiki to enjoy basic functionality. The optional TWPub viewer plugin provides helpful additional features:
|
||||
|
||||
* Colour coded annotations/bookmarks
|
||||
* Multicolumn display permitting TWPubs to be displayed side-by-side with ordinary TiddlyWiki content
|
||||
|
||||
! Demo and Documentation
|
||||
|
||||
The TWPub site contains documentation and a demonstration library with over a hundred public domain publications:
|
||||
|
||||
https://twpub-tools.org/
|
||||
|
||||
The open source code is available on ~GitHub:
|
||||
|
||||
https://github.com/TWPUB/TWPUB-Tools
|
||||
|
||||
! History
|
||||
|
||||
The work on TWPub has been performed by [[Federatial]] and funded by [[immatériel·fr|http://www.immateriel.fr]], a leading independent e-book distributor in France who distribute catalogues for more than 700 publishers and partner with the major global e-book resellers.
|
||||
@@ -6,7 +6,7 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
Modals (or "wizards") fade the main TiddlyWiki window to display an isolated tiddler that must be explicitly dismissed by the user.
|
||||
|
||||
The tiddler to be displayed can contain the following optional fields that are used to customize the modal:
|
||||
The tiddler to be displayed can contain the following optional fields that are used to customise the modal:
|
||||
|
||||
|!Field |!Description |
|
||||
|footer|The footer text for the modal|
|
||||
|
||||
@@ -32,7 +32,7 @@ Note that within the subfilter, the "currentTiddler" variable is set to the titl
|
||||
|
||||
<<.tip "Compare with the similar [[subfilter|subfilter Operator]] operator which runs a subfilter and directly returns the results">>
|
||||
|
||||
<<.tip "Compare with the analagous named filter run prefix `:filter`">>
|
||||
<<.tip "Compare with the analogous named filter run prefix `:filter`">>
|
||||
|
||||
```
|
||||
\define larger-than-1k() [get[text]length[]compare:integer:gteq[1000]]
|
||||
|
||||
@@ -4,7 +4,7 @@ tags: [[Filter Operators]] [[Special Operators]]
|
||||
title: getvariable Operator
|
||||
caption: getvariable
|
||||
op-purpose: select all values of variables named in the input titles
|
||||
op-input: a selection of varible names
|
||||
op-input: a selection of variable names
|
||||
op-parameter: ignored
|
||||
op-output: the values of each of the variables named in the input titles (or blank if the variable is not defined)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20140410103123179
|
||||
modified: 20150203185150000
|
||||
modified: 20221229094244039
|
||||
tags: [[Filter Operators]]
|
||||
title: indexes Operator
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -9,8 +9,10 @@ op-input: a [[selection of titles|Title Selection]]
|
||||
op-parameter: none
|
||||
op-output: all the property names or indices contained in the input data tiddlers
|
||||
|
||||
Each input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. The list of property names is retrieved from the data tiddler (in no particular order) and then [[dominantly appended|Dominant Append]] to the operator's output.
|
||||
Each input title is processed in turn, and is ignored if it does not denote a [[data tiddler|DataTiddlers]]. The sorted list of property names is retrieved from the data tiddler and then [[dominantly appended|Dominant Append]] to the operator's output.
|
||||
|
||||
Where a tiddler's [[content is JSON|JSONTiddlers]] with an array as its root, the <<.op indexes>> operator retrieves a selection of integer indices instead.
|
||||
Note that behind the scenes, the name/value pairs in a dictionary tiddler are represented as a [[JSON object|JSONTiddlers]]. JSON objects do not maintain a guaranteed ordering and so we cannot reliably retain the ordering of the data in the file.
|
||||
|
||||
Where the content of a tiddler is in JSON format with an array as its root, the <<.op indexes>> operator retrieves a selection of integer indices instead.
|
||||
|
||||
<<.operator-examples "indexes">>
|
||||
|
||||
@@ -33,6 +33,8 @@ If <<.place C>> is anything else an error message is returned. <<.from-version "
|
||||
|
||||
When <<.op is[missing]>> is the first operator in a [[run|Filter Run]], its output is always empty. And when <<.op is[shadow]>> comes first, it outputs only those shadow tiddlers that have been overridden. This is because the [[initial input to a run|Filter Expression]] contains only <<.em non>>-shadow tiddlers.
|
||||
|
||||
The <<.olink all>> operator is similar, but its scope is the whole wiki.
|
||||
<<.tip "Use `has[title]` to match any tiddler title that is either a tiddler //or// a shadow tiddler.">>
|
||||
|
||||
<<.operator-examples "is">>
|
||||
The <<.olink all>> operator is similar to <<.olink is>>, but its scope is the whole wiki.
|
||||
|
||||
<<.operator-examples "is">>
|
||||
|
||||
@@ -33,7 +33,7 @@ If the <<.op reduce>> operator receives no input, its output will be empty. The
|
||||
</$set>
|
||||
```
|
||||
|
||||
<<.tip "Compare with the analagous named [[filter run prefix|Filter Expression]] `:reduce`">>
|
||||
<<.tip "Compare with the analogous named [[filter run prefix|Filter Expression]] `:reduce`">>
|
||||
|
||||
```
|
||||
\define num-items() [get[quantity]add<accumulator>]
|
||||
|
||||
@@ -32,7 +32,7 @@ Unlike conventional online services, TiddlyWiki lets you choose where to keep yo
|
||||
{{$:/core/images/twitter}} Twitter
|
||||
</a>
|
||||
<a rel="me" href="https://fosstodon.org/@TiddlyWiki" class="tc-btn-big-green" style="border-radius:4px;background-color:#2b90d9;" target="_blank" rel="noopener noreferrer">
|
||||
{{$:/core/images/globe}} Mastodon
|
||||
{{$:/core/images/mastodon}} Mastodon
|
||||
</a>
|
||||
<a href="https://github.com/Jermolene/TiddlyWiki5" class="tc-btn-big-green" style="border-radius:4px;background-color:#444;" target="_blank" rel="noopener noreferrer">
|
||||
{{$:/core/images/github}} ~GitHub
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
created: 20150414070451144
|
||||
list: [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - Developers]] [[HelloThumbnail - Funding]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Federatial]]
|
||||
list: [[HelloThumbnail - Newsletter]] [[HelloThumbnail - Introduction Video]] [[HelloThumbnail - Grok TiddlyWiki]] [[HelloThumbnail - Latest Version]] [[HelloThumbnail - TiddlyWikiLinks]] [[HelloThumbnail - Developers]] [[HelloThumbnail - Funding]] [[HelloThumbnail - Marketplace]] [[HelloThumbnail - Federatial]]
|
||||
modified: 20150414070948246
|
||||
title: HelloThumbnail
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
@@ -5,6 +5,5 @@ image: Funding.png
|
||||
link: Funding TiddlyWiki
|
||||
tags: HelloThumbnail
|
||||
title: HelloThumbnail - Funding
|
||||
ribbon-text: NEW
|
||||
|
||||
Find out how you can help support ~TiddlyWiki financially
|
||||
@@ -5,6 +5,5 @@ background-color: #EAE57D
|
||||
image: TiddlyWiki Marketplace Banner
|
||||
caption: ~TiddlyWiki Marketplace
|
||||
link: TiddlyWiki Marketplace
|
||||
ribbon-text: NEW
|
||||
|
||||
Explore commercial products and services for ~TiddlyWiki
|
||||
@@ -0,0 +1,9 @@
|
||||
title: HelloThumbnail - Newsletter
|
||||
tags: HelloThumbnail
|
||||
caption: ~TiddlyWiki Newsletter
|
||||
link: TiddlyWiki Newsletter
|
||||
image: TiddlyWiki Newsletter Badge.png
|
||||
color: #fff
|
||||
ribbon-text: NEW
|
||||
|
||||
Subscribe to the ~TiddlyWiki Newsletter, a fortnightly summary of the most interesting and relevant news from the ~TiddlyWiki community
|
||||
@@ -0,0 +1,9 @@
|
||||
title: HelloThumbnail - TWPub
|
||||
tags: HelloThumbnail
|
||||
color: #D5B7EA
|
||||
image: TWPub Thumbnail
|
||||
caption: Electronic Books in ~TiddlyWiki
|
||||
link: TWPub
|
||||
ribbon-text: NEW
|
||||
|
||||
The TWPub project uses ~TiddlyWiki to reimagine electronic books as personal interactive cultural artefacts
|
||||
@@ -6,6 +6,5 @@ link: Federatial
|
||||
tags: HelloThumbnail
|
||||
title: HelloThumbnail - Federatial
|
||||
type: text/vnd.tiddlywiki
|
||||
ribbon-text: NEW
|
||||
|
||||
Support the development of ~TiddlyWiki by hiring Jeremy Ruston through Federatial Limited
|
||||
@@ -1,27 +1,59 @@
|
||||
created: 20160618090057124
|
||||
modified: 20190704054958185
|
||||
modified: 20230101114932775
|
||||
tags: [[Editor toolbar]]
|
||||
title: Using Stamp
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Insert snippets
|
||||
You can insert preconfigured snippets of text to use stamp from toolbar. Click ''stamp'' (<<.icon $:/core/images/stamp>>) and just select a snippet.
|
||||
Snippets are pre-configured snippets of text which can be inserted into the editor by clicking the ''stamp'' (<<.icon $:/core/images/stamp>>) button on the [[toolbar|Editor toolbar]] and then on the required item.
|
||||
|
||||
Snippets can either ''replace'', or be ''added before and/or after'', the selected text in the editor.
|
||||
|
||||
! Create a snippet
|
||||
# Click ''stamp'' (<<.icon $:/core/images/stamp>>)
|
||||
# Create a snippet tiddler through the "//Add your own//" menu entry
|
||||
# Type some text as snippet for the tiddler, add a caption for the name as shown in the menu
|
||||
# Click the <<.icon $:/core/images/done-button>> ''ok'' button
|
||||
!! Whilst editing a tiddler
|
||||
|
||||
<$macrocall $name=".tip" _="""''Tip:'' You can also create a snippet tiddler using the ''new tiddler'' <<.icon $:/core/images/new-button>> button in the sidebar, and add tag ''~$:/tags/TextEditor/Snippet''""" />
|
||||
# Click ''stamp'' (<<.icon $:/core/images/stamp>>) on the toolbar
|
||||
# Click "//Add your own//" at the bottom of the menu
|
||||
# Type the text for the snippet in the editor
|
||||
# Enter the caption for the snippet menu item in the `caption` field
|
||||
# Click the <<.icon $:/core/images/done-button>> //Confirm changes to this tiddler// button
|
||||
|
||||
!!<<.from-version "5.1.20">> Adding a prefix and/or suffix to a selection
|
||||
!! Manually
|
||||
|
||||
# Click ''stamp'' (<<.icon $:/core/images/stamp>>)
|
||||
# Create a snippet tiddler through the "//Add your own//" menu entry
|
||||
# Add a caption for the name as shown in the menu
|
||||
# Create a tiddler with the same title but add the suffix `/prefix`
|
||||
# Insert the prefix in its text field
|
||||
# Create a tiddler with the same title but add the suffix `/suffix`
|
||||
# Insert the suffix in its text field
|
||||
# Click the <<.icon $:/core/images/done-button>> ''ok'' button
|
||||
# Create a new tiddler by clicking the //Create a new tiddler// <<.icon $:/core/images/new-button>> button in the sidebar
|
||||
|
||||
# Change the title for the tiddler (from e.g. `New Tiddler 1`). The tiddler title determines the menu item for the stamp if you do not set a `caption` field (see below).<div><$macrocall $name=".tip" _="""''Pro tip'' Set a title like `$:/yourusername/snippets/My new stamp` to 'file' your new tiddler away as a [[system tiddler|SystemTiddlers]] which doesn't appear in the normal search results """ /></div>
|
||||
|
||||
# Add the tag <<tag-pill $:/tags/TextEditor/Snippet>> by entering `$:/tags/TextEditor/Snippet` in the `tag name` tag box and clicking //Add// (or pressing the //Enter// key)
|
||||
|
||||
# Enter the snippet content (which you wish to appear in the editor when you click the stamp menu <<.icon $:/core/images/stamp>>) in the editor
|
||||
|
||||
# Create a field with the name `caption` and value set to the text for the snippet's stamp menu item:
|
||||
## Enter `caption` in the //Add new field// `field name` box
|
||||
## Enter the stamp menu item caption in the `field value` box
|
||||
|
||||
|
||||
|
||||
! Re-ordering snippets
|
||||
Your new snippet will appear at the bottom of the stamp menu by default. To adjust the order of snippets:
|
||||
|
||||
# Navigate to a snippet tiddler
|
||||
# Click the <<tag $:/tags/TextEditor/Snippet>> tag pill
|
||||
# Drag items up and down the menu of snippets
|
||||
|
||||
|
||||
! Adding a prefix and/or suffix to a selection <span style="font-size:1rem;"><<.from-version "5.1.20">></span>
|
||||
|
||||
By default, the stamp button ''replaces ''text you have selected in the editor (let's say `selectedText`)with your snippet (let's say `$:/my/snippet`).
|
||||
|
||||
If instead of //replacing// selected text, you wish the stamp button to //add// [[wikitext |WikiText]] before and/or after the selection:
|
||||
|
||||
# Create a snippet tiddler (tagged <<tag-pill $:/tags/TextEditor/Snippet>>, with `caption` field set to desired stamp menu item text) using either of the two methods above
|
||||
# Create a new tiddler with either `/prefix` or `/suffix` appended to the end of the snippet tiddler's title, according to whether you wish the stamp to insert the snippet content //before //(`/prefix`) or //after //(`/suffix`) the text selected in the editor.
|
||||
#* Do not tag the tiddler <<tag-pill $:/tags/TextEditor/Snippet>>; the caption field is ignored
|
||||
#* Set the tiddler text to the text you wish to be inserted before or after your selection
|
||||
|
||||
|Example configuration for `snippet2` with prefix+suffix|c
|
||||
|!Tiddler|!Tiddler content|!Tag|!`caption` field|
|
||||
|`$:/snip/snippet2`||<<tag-pill $:/tags/TextEditor/Snippet>>|`My second stamp menu item`|
|
||||
|`$:/snip/snippet2/prefix`|`TextIWantPrependedToSelection`|||
|
||||
|`$:/snip/snippet2/suffix`|`TextIWantAppendedToSelection`|||
|
||||
|
||||
BIN
editions/tw5.com/tiddlers/images/TWPub Thumbnail.png
Normal file
BIN
editions/tw5.com/tiddlers/images/TWPub Thumbnail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,3 @@
|
||||
title: TWPub Thumbnail
|
||||
type: image/png
|
||||
tags: picture
|
||||
BIN
editions/tw5.com/tiddlers/images/TiddlyWiki Newsletter Badge.png
Normal file
BIN
editions/tw5.com/tiddlers/images/TiddlyWiki Newsletter Badge.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 170 KiB |
@@ -0,0 +1,3 @@
|
||||
title: TiddlyWiki Newsletter Badge.png
|
||||
type: image/png
|
||||
tags: picture
|
||||
@@ -1,13 +1,13 @@
|
||||
caption: changecount
|
||||
created: 20131228162825226
|
||||
modified: 20150221151223000
|
||||
modified: 20221221174529586
|
||||
tags: Macros [[Core Macros]]
|
||||
title: changecount Macro
|
||||
type: text/vnd.tiddlywiki
|
||||
caption: changecount
|
||||
|
||||
The <<.def changecount>> [[macro|Macros]] returns the number of times the [[current tiddler|Current Tiddler]] has been created, stored or deleted during the current ~TiddlyWiki session.
|
||||
|
||||
If a tiddler is deleted and subsequently recreated, its <<.var changecount>> will go up by two.
|
||||
If a tiddler is deleted and subsequently recreated, its <<.var changecount>> will be increased by two.
|
||||
|
||||
!! Parameters
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ Note: Each first [[step|Filter Step]] of a [[filter run|Filter Run]] not given a
|
||||
;filter
|
||||
: A [[filter|Filters]] selecting which tiddlers to include
|
||||
;caption
|
||||
: The name of the field to transclude for each list item, defaultingt to `caption`
|
||||
: The name of the field to transclude for each list item, defaulting to `caption`
|
||||
;type
|
||||
: An HTML element to use for the overall list element, defaulting to `ul`
|
||||
;subtype
|
||||
|
||||
@@ -29,10 +29,10 @@ It uses the same method as the create new tiddler button, a number is appended t
|
||||
: This variable will be replaced by the ''separator'' parameter
|
||||
|
||||
;`$count$`
|
||||
: This variable will be createad automatically and is a counter starting with 0
|
||||
: This variable will be created automatically and is a counter starting with 0
|
||||
|
||||
;`$count:4$`
|
||||
: This variable will be createad automatically and starts at 0000
|
||||
: This variable will be created automatically and starts at 0000
|
||||
: `:4` represents the number of digits
|
||||
|
||||
!! Examples
|
||||
|
||||
@@ -36,6 +36,6 @@ Now consider the implementation of the info panel within the tiddler template. W
|
||||
|
||||
However, we can't track the state in a tiddler called, say, [[$:/InfoPanelState]] because every tiddler would share the same state; changing the value of the tiddler would affect all tiddlers displayed in the story.
|
||||
|
||||
The solution is to dynamically generate a unique title for each state tiddler that we need. We need to ensure that the same state tiddler title is generated each time a user interface element is rendered. To do that, we append together tokens representating each of the stack of transclusions that led to the current rendering location. Then that string of symbols is hashed to a simple numeric value.
|
||||
The solution is to dynamically generate a unique title for each state tiddler that we need. We need to ensure that the same state tiddler title is generated each time a user interface element is rendered. To do that, we append together tokens representing each of the stack of transclusions that led to the current rendering location. Then that string of symbols is hashed to a simple numeric value.
|
||||
|
||||
The process of generating a state tiddler title is encapsulated in the <<.mlink qualify>> macro.
|
||||
|
||||
@@ -6,9 +6,9 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
The translation mechanism of TiddlyWiki manages and switches between language plugins that provide translations of the TiddlyWiki user interface. The developer site at https://tiddlywiki.com/dev/ explains how translators can create and submit translations for TiddlyWiki.
|
||||
|
||||
The title of the current language plugin is read from the tiddler [[$:/language]]. If the selected plugin changes then any displayed translateable text automatically changes.
|
||||
The title of the current language plugin is read from the tiddler [[$:/language]]. If the selected plugin changes then any displayed translatable text automatically changes.
|
||||
|
||||
Translation plugins are bundles of tiddlers that each contain an indepedent translatable string. The strings are transcluded as needed.
|
||||
Translation plugins are bundles of tiddlers that each contain an independent translatable string. The strings are transcluded as needed.
|
||||
|
||||
Translatable strings are generally in the namespace `$:/language/`, for example:
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
The modal message is usually generated with the ButtonWidget. The modal message is handled by the TiddlyWiki core.
|
||||
|
||||
[[Fields within the tiddler|Modals]] being displayed in the modal can be used to customize its appearance.
|
||||
[[Fields within the tiddler|Modals]] being displayed in the modal can be used to customise its appearance.
|
||||
|
||||
!! paramObject
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ Directory specifications in the `directories` array may take the following forms
|
||||
** ''filesRegExp'' - (optional) a [[regular expression|https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions]] that matches the filenames of the files that should be processed within the directory
|
||||
** ''isTiddlerFile'' - (required) if `true`, the file will be treated as a [[tiddler file|TiddlerFiles]] and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the `text` field without any parsing
|
||||
** ''isEditableFile'' - <<.from-version "5.1.23">> (optional) if `true`, changes to the tiddler be saved back to the original file. The tiddler will be saved back to the original filepath as long as it does not generate a result from the $:/config/FileSystemPath filters, which will override the final filepath generated if a result is returned from a filter.
|
||||
** ''searchSubdirectories'' - <<.from-version "5.1.23">> (optional) if `true`, all subdirectories of the //path// are searched recursively for files that match the (optional) //filesRegExp//. If no //filesRegExp// is provided, all files in all subdirectoies of the //path// are loaded. Tiddler titles generated via a //source// attribute (see above) will only include the filename, not any of the subdirectories of the path. If this results in multiple files with loaded with the same tiddler title, then only the last file loaded under that tiddler title will be in memory. In order to prevent this, you must have multiple directory objects listed and customize the title field with a //prefix// or //suffix// alongside the //source// attribute.
|
||||
** ''searchSubdirectories'' - <<.from-version "5.1.23">> (optional) if `true`, all subdirectories of the //path// are searched recursively for files that match the (optional) //filesRegExp//. If no //filesRegExp// is provided, all files in all subdirectories of the //path// are loaded. Tiddler titles generated via a //source// attribute (see above) will only include the filename, not any of the subdirectories of the path. If this results in multiple files with loaded with the same tiddler title, then only the last file loaded under that tiddler title will be in memory. In order to prevent this, you must have multiple directory objects listed and customise the title field with a //prefix// or //suffix// alongside the //source// attribute.
|
||||
** ''fields'' - (required) an object containing values that override or customise the fields provided in the tiddler file (see above)
|
||||
|
||||
Fields can also be overridden for particular files by creating a file with the same name plus the suffix `.meta` -- see TiddlerFiles.
|
||||
@@ -65,7 +65,7 @@ There are also several examples of `tiddlywiki.files` files in the main [[Tiddly
|
||||
|
||||
!! Importing a folder of PDFs
|
||||
|
||||
This example retrieves all the files with the extension `.pdf` from a folder specified by a relative path. This path starts with "../../../" indicating 3 directory levels above the folder holdng this confog fole. Each tiddler is set up for LazyLoading with the following fields:
|
||||
This example retrieves all the files with the extension `.pdf` from a folder specified by a relative path. This path starts with "../../../" indicating 3 directory levels above the folder holding this config file. Each tiddler is set up for LazyLoading with the following fields:
|
||||
|
||||
* ''title'' - set to the URI decoded base filename of the PDF file. [[URI decoding|https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent]] allows characters like "/" to be included in titles by URI encoding them as "%2F"
|
||||
* ''created'' - set to the creation date/time of the PDF file
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
created: 20161229113910984
|
||||
modified: 20171113110222980
|
||||
title: Beaker Browser
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
From [[Beaker Browser website|https://beakerbrowser.com/]]:
|
||||
|
||||
> Beaker is a Peer-to-Peer Web Browser, made for users to run applications independently of hosts. Using P2P Hypermedia, Beaker separates frontend apps from backend services, so that users are completely in control of their software and data. Read more.
|
||||
|
||||
Beaker is a fork of the open source Chromium browser (which is the core engine powering Google's Chrome browser).
|
||||
|
||||
Beaker adds the ability to host sites within the browser, and browse to those sites via the `dat://` protocol. The extraordinary thing is that if you are running Beaker then you can also browse to sites hosted by other users, without needing any server in between.
|
||||
|
||||
Further, you can opt to host a site belonging to somebody else, forming part of a Bittorrent-like swarm of peers serving the content to other browsers. You can also //fork// a site, making your own copy that you can change as you need.
|
||||
|
||||
The main disadvantage is that mainstream browsers cannot use `dat://` sites.
|
||||
|
||||
Most of the magic is accomplished by the underlying [[Dat protocol|https://datproject.org/]].
|
||||
|
||||
<<.from-version "5.1.14">> TiddlyWiki incorporates a special saver module permitting changes to be saved directly from Beaker browser. See [[Saving on Beaker Browser]] for instructions.
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
created: 20221123223127425
|
||||
modified: 20221123223127425
|
||||
tags: Pragmas
|
||||
modified: 20230117112244779
|
||||
tags: Pragma
|
||||
title: Pragma: \parsermode
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
The ''\parsermode'' [[pragma|Pragmas]] adjusts whether the remaining text is parsed in block mode or inline mode. See [[WikiText Parser Modes]] for details of parser modes.
|
||||
<<.from-version "5.2.4">>
|
||||
|
||||
```
|
||||
\parsermode block|inline
|
||||
```
|
||||
The ''\parsermode'' [[pragma|Pragma]] adjusts whether the remaining text is parsed in block mode or inline mode. See [[WikiText Parser Modes]] for details of parser modes.
|
||||
|
||||
For example:
|
||||
As with all pragmas, setting the parser mode this way can only be done at the start of text, not within the main body of the text.
|
||||
|
||||
```
|
||||
\parsermode inline
|
||||
```
|
||||
;`\parsermode block` or `\parsermode inline`
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
caption: Beaker Browser
|
||||
color: #FF8A65
|
||||
created: 20161229121316912
|
||||
delivery: App
|
||||
description: Powerful new browser for Mac, Windows and Linux
|
||||
method: save
|
||||
modified: 20200507104016915
|
||||
tags: Saving Windows Linux Mac
|
||||
title: Saving on Beaker Browser
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
<<.from-version "5.1.14">> TiddlyWiki incorporates a saver module that allows it to save changes directly with the [[Beaker Browser]], an experimental peer-to-peer browser.
|
||||
|
||||
! Instructions
|
||||
|
||||
# Download and install the Beaker Browser from https://beakerbrowser.com/
|
||||
# Run Beaker, and if necessary open a tab to beaker:start
|
||||
# Click the "New site" button at the top left of the page
|
||||
# Enter the details of your site
|
||||
# Click the link “Add files” and upload your TiddlyWiki index.html file
|
||||
# View the site by clicking on the link to index.html; it should open in a new tab
|
||||
# Try out creating tiddlers, and saving changes
|
||||
|
||||
At this point, the wiki is entirely private, and other users cannot see the content even if they have the URL. To share the wiki with other users:
|
||||
|
||||
# Publish your changes
|
||||
## Visit the "Library" page in Beaker Browser via the system menu
|
||||
## Select your site in the list
|
||||
## Look for a box mentioning "n unpublished changes". If not present, skip to the next step
|
||||
## Click the "Review changes" button
|
||||
## Click the "Publish" button
|
||||
# Share the dat: URL
|
||||
## Copy the URL of your site from the address bar and share it with other users
|
||||
## Other users should be able to access your site but they won't be able to make changes unless they fork their own copy
|
||||
@@ -34,7 +34,7 @@ Lightweight, portable and easy to use solutions
|
||||
* ~SharePoint / ~OneDrive for Windows
|
||||
** Save your ~TiddlyWiki file with an `.aspx` extension
|
||||
** Copy it to a ~SharePoint/~OneDrive for Business sync'd library
|
||||
** As long as ~WebDAV hasn’t been disabled, renaming single-file wiki from .html to .aspx “just works” when stored in one of these folders
|
||||
** As long as ~WebDAV has not been disabled, renaming single-file wiki from .html to .aspx “just works” when stored in one of these folders
|
||||
** This //might// work with Mac also.
|
||||
|
||||
!! OSX
|
||||
|
||||
@@ -16,6 +16,6 @@ The following tiddlers are tagged with <<tag>>
|
||||
<$list filter='[all[tiddlers+shadows]tag<tag>sort[]]'>
|
||||
<tr>
|
||||
<td><$link/></td>
|
||||
<td>{{!!caption}}</td>
|
||||
<td><$transclude field="caption"><$transclude field="description"><$view field="title"/></$transclude></$transclude></td>
|
||||
</tr>
|
||||
</$list></table></$list></$let></$list>
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
created: 20141002133113496
|
||||
modified: 20150221215644000
|
||||
modified: 20221221175615776
|
||||
tags: Concepts Reference
|
||||
title: Variables
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
A <<.def variable>> is a snippet of text that can be accessed by name within a particular branch of the [[widget tree|Widgets]]. The snippet is known as the variable's <<.def value>>.
|
||||
|
||||
A new variable is defined using a <<.wlink SetWidget>> widget, and is then available to any of the children of that widget, including transcluded content. A <<.wid set>> widget can reuse an existing name, thus binding a different snippet to that name for the duration of the widget's children.
|
||||
A new variable is defined using a <<.wlink SetWidget>> or <<.wlink LetWidget>> widget, and is then available to any of the children of that widget, including transcluded content. A <<.wid set>> widget can reuse an existing name, thus binding a different snippet to that name for the duration of the widget's children.
|
||||
|
||||
The <<.wlink ListWidget>> widget also sets a particular variable (<<.var currentTiddler>> by default) to each listed title in turn.
|
||||
The <<.wlink ListWidget>> widget by default sets a particular variable <<.var currentTiddler>> to each listed title in turn.
|
||||
|
||||
For an overview of how to use variables, see [[Variables in WikiText]].
|
||||
|
||||
Despite the term <<.word variable>>, each snippet is a constant string. The apparent variability is actually the result of the presence of multiple variables with the same name in different parts of the widget tree.
|
||||
Despite the term <<.word variable>>, ''each snippet is a constant string''. The apparent variability is actually the result of the presence of multiple variables with the same name in different parts of the widget tree.
|
||||
|
||||
[[Macros]] are a special form of variable whose value can contain placeholders that get filled in with parameters whenever the macro is used.
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ tiddlywiki YOUR_WIKI_FOLDER --listen 'root-tiddler=$:/core/save/all-external-js'
|
||||
|
||||
<<.tip """On Windows, Command Prompt (CMD) users need to replace single quotes `'` with double quotation marks `"`.""">>
|
||||
|
||||
!! Initializing a new wiki
|
||||
!! Initialising a new wiki
|
||||
|
||||
The provided edition `server-external-js` contains all the configuration necessary to use the external ~JavaScript template. Here is an example:
|
||||
|
||||
@@ -37,10 +37,10 @@ tiddlywiki ./myNewWiki --build listen
|
||||
|
||||
The above commands perform the following:
|
||||
|
||||
* Create a new wiki with external JavaScript customization included.
|
||||
* Create a new wiki with external JavaScript customisation included.
|
||||
* Start the server with external ~JavaScript enabled. The server listens on port 8080. Visit http://localhost:8080 in your browser.
|
||||
|
||||
To customize your `--build listen` command, see [[tiddlywiki.info Files]] and [[ListenCommand]].
|
||||
To customise your `--build listen` command, see [[tiddlywiki.info Files]] and [[ListenCommand]].
|
||||
|
||||
! Using the external ~JavaScript template with the single file configuration
|
||||
|
||||
@@ -52,7 +52,7 @@ You can use the "external-js" template with your single file wiki, but this requ
|
||||
|
||||
If you start your ~TiddlyWiki server in the "external-js" configuration, snapshots you save from the wiki will also have the external-js configuration.
|
||||
|
||||
You can click on the "cloud" button and choose <<.icon $:/core/images/download-button>> ''Save snapshot for offline use''. The html wiki you saved will have a reduced file size compared to a regular snapshot because the ~TiddlyWiki core code has been externalized. However, to be able to use this wiki, you ''must'' also have a copy of ~TiddlyWiki's core ~JavaScript in the same directory; see below for instructions for obtaining it
|
||||
You can click on the "cloud" button and choose <<.icon $:/core/images/download-button>> ''Save snapshot for offline use''. The html wiki you saved will have a reduced file size compared to a regular snapshot because the ~TiddlyWiki core code has been externalised. However, to be able to use this wiki, you ''must'' also have a copy of ~TiddlyWiki's core ~JavaScript in the same directory; see below for instructions for obtaining it
|
||||
|
||||
The "server-external-js" edition lets you save the snapshot from the command line:
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@ tags: [[WebServer Authentication]]
|
||||
title: WebServer Anonymous Access
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
Anonymous access is only permitted if the special ''(anon)'' token is present in the [[readers|WebServer Parameter: readers]] (for reading) and optionally [[writers|WebServer Parameter: writers]] (for writing) authorization parameters.
|
||||
Anonymous access is only permitted if the special ''(anon)'' token is present in the [[readers|WebServer Parameter: readers]] (for reading) and optionally [[writers|WebServer Parameter: writers]] (for writing) authorisation parameters.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ type: text/vnd.tiddlywiki
|
||||
The [[web server configuration parameter|WebServer Parameters]] ''username'', in conjunction with its companion [[password|WebServer Parameter: password]]:
|
||||
|
||||
* Enables [[Basic Authentication|WebServer Basic Authentication]] with the specified username/password combination being added to any credentials specified with the [[credentials|WebServer Parameter: credentials]] parameter
|
||||
* The specified username is used as a default value for the [[readers|WebServer Parameter: readers]] and [[writers|WebServer Parameter: writers]] authorization parameters if they are not specified
|
||||
* The specified username is used as a default value for the [[readers|WebServer Parameter: readers]] and [[writers|WebServer Parameter: writers]] authorisation parameters if they are not specified
|
||||
|
||||
!! Examples
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
created: 20200131142401129
|
||||
modified: 20211113230406823
|
||||
tags: ActionCreateTiddlerWidget Widgets
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example 1
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
created: 20200131144828713
|
||||
modified: 20211113011036840
|
||||
tags: ActionCreateTiddlerWidget Widgets
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example 2
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
created: 20200131145355658
|
||||
modified: 20211113011111052
|
||||
tags: ActionCreateTiddlerWidget Widgets
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example 3
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
created: 20200131150229551
|
||||
modified: 20211113011129601
|
||||
tags: ActionCreateTiddlerWidget Widgets
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example 4
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
created: 20200131144828713
|
||||
modified: 20230111220933412
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example 5
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
\define testCreate()
|
||||
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template">
|
||||
<$action-sendmessage $message="tm-edit-tiddler" $param=<<createTiddler-title>>/>
|
||||
</$action-createtiddler>
|
||||
\end
|
||||
|
||||
This example will use the base title defined in [[ActionCreateTiddlerWidget Template]].
|
||||
|
||||
It will create: "base", "base 1", "base 2" and so on, and navigate to this tiddler in draft mode.
|
||||
|
||||
```
|
||||
\define testCreate()
|
||||
<$action-createtiddler $basetitle="base" $template="ActionCreateTiddlerWidget Template">
|
||||
<$action-sendmessage $message="tm-edit-tiddler" $param=<<createTiddler-title>>/>
|
||||
</$action-createtiddler>
|
||||
\end
|
||||
|
||||
<$button actions=<<testCreate>> >
|
||||
Create Tiddler
|
||||
</$button>
|
||||
```
|
||||
|
||||
<$button actions=<<testCreate>> >
|
||||
<$action-setfield $tiddler="$:/state/tab/sidebar--595412856" text="$:/core/ui/SideBar/Recent"/>
|
||||
Create Tiddler
|
||||
</$button> - Clicking this button, will also open the Right sidebar: Recent tab
|
||||
@@ -1,35 +1,39 @@
|
||||
caption: action-createtiddler
|
||||
created: 20161020152745942
|
||||
modified: 20210601092956998
|
||||
modified: 20230115084716196
|
||||
tags: Widgets ActionWidgets
|
||||
title: ActionCreateTiddlerWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Introduction
|
||||
|
||||
The ''action-createtiddler'' widget is an [[action widget|ActionWidgets]] that creates new tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.
|
||||
The <<.wid "action-createtiddler">> widget is an [[action widget|ActionWidgets]] that creates new tiddlers. Action widgets are used within triggering widgets such as the ButtonWidget.
|
||||
|
||||
There are several differences from the [[tm-new-tiddler message|WidgetMessage: tm-new-tiddler]]:
|
||||
There are several //differences// from the [[tm-new-tiddler message|WidgetMessage: tm-new-tiddler]]:
|
||||
|
||||
* The new tiddler is not automatically displayed in the [[story river|StoryRiver]]
|
||||
* The new tiddler is not automatically displayed in the [[story river|Story River]]
|
||||
* The title of the new tiddler is made available for subsequent operations
|
||||
|
||||
! Content and Attributes
|
||||
|
||||
The ''action-createtiddler'' widget is invisible.
|
||||
|
||||
<<.from-version "5.2.0">> The action widgets contained within the ''action-createtiddler'' widget are executed after the new tiddler has been created with the title of the tiddler in the variable `createTiddler-title` and `createTiddler-draftTitle`.
|
||||
|
||||
|!Attribute |!Description |
|
||||
|$basetitle |The initial title that will be attempted. If a tiddler with that title already exists, then a numerical counter is added to the title and incremented until it is unique|
|
||||
|$savetitle |//(deprecated – see below)// A text reference identifying a field or index into which the title of the newly created tiddler will be stored after it is created |
|
||||
|$savedrafttitle |//(deprecated – see below)// <<.from-version "5.1.20">> A text reference identifying a field or index into which the draft title associated with the newly created tiddler will be stored after it is created. This is useful when using a sequence of action widgets to create a new tiddler, put it into edit mode, and position it within the list of its parent tag |
|
||||
|$savetitle |<<.deprecated-since "5.1.20" "ActionCreateTiddlerWidget Example 5">> A text reference identifying a field or index into which the title of the newly created tiddler will be stored after it is created |
|
||||
|$savedrafttitle |<<.deprecated-since "5.1.20" "ActionCreateTiddlerWidget Example 5">> A text reference identifying a field or index into which the draft title associated with the newly created tiddler will be stored after it is created. This is useful when using a sequence of action widgets to create a new tiddler, put it into edit mode, and position it within the list of its parent tag |
|
||||
|$timestamp |Specifies whether the timestamp(s) of the target tiddler will be updated (''modified'' and ''modifier'', plus ''created'' and ''creator'' for newly created tiddlers). Can be "yes" (the default) or "no" |
|
||||
|$template |<<.from-version "5.1.22">> The title of a template tiddler, that will be used to create a new tiddler |
|
||||
|$overwrite |<<.from-version "5.1.22">> If set to "yes", it will overwrite existing tiddlers. ''Be careful!'' |
|
||||
|//{any attributes not starting with $}// |Each attribute name specifies a field to be created in the new tiddler |
|
||||
|
||||
<<.from-version "5.2.0">> Note that the attributes `$savetitle` and `$savedrafttitle` are no longer needed. Instead, any action widgets that need to use the title of the newly created tiddler should be contained within the ''action-createtiddler'' widget, and reference the variables `createTiddler-title` and `createTiddler-draftTitle` to obtain the title.
|
||||
! Variables
|
||||
|
||||
<<.from-version "5.2.0">> The content of the <<.wid "action-createtiddler">> widget is executed after the new tiddler has been created. The title of the newly created tiddler is stored in the variable <<.var "createTiddler-title">>.
|
||||
|
||||
|!Variables |!Description |
|
||||
|`createTiddler-title` |The tittle of the tiddler that has been created. See [[ActionCreateTiddlerWidget Example 5]] |
|
||||
|`createTiddler-draftTitle` |This variable only exists to have feature parity with the deprecated parameters. It contains the title of a "draft tiddler" |
|
||||
|
||||
! Examples
|
||||
|
||||
@@ -61,4 +65,9 @@ The ''action-createtiddler'' widget is invisible.
|
||||
{{ActionCreateTiddlerWidget Example 4}}
|
||||
<<<
|
||||
|
||||
---
|
||||
|
||||
<<<
|
||||
{{ActionCreateTiddlerWidget Example 5}}
|
||||
<<<
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
created: 20161020153426686
|
||||
modified: 20211113011019510
|
||||
tags: ActionCreateTiddlerWidget Widgets
|
||||
tags: ActionCreateTiddlerWidget
|
||||
title: ActionCreateTiddlerWidget Example
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ type: text/vnd.tiddlywiki
|
||||
|
||||
! Introduction
|
||||
|
||||
The edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propogated.
|
||||
The edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propagated.
|
||||
|
||||
By default, applying the EditTextWidget to the `text` field of a tiddler will generates an HTML `<textarea>` element, i.e. a multi-line editor. Applying the EditTextWidget to any other field generates an HTML `<input type="text">` element, a single-line editor. This behaviour can be overridden with the `tag` and `type` attributes.
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ In order for the events to be trapped:
|
||||
|
||||
* The event must be of one of the events specified in the event catcher widget's `events` attribute
|
||||
* The event must target a DOM node with an ancestor that matches the widget's `selector` attribute
|
||||
* <<.from-version "5.2.2">> Optionally, the DOM node targetted by the event must also match the widgets `matchSelector` attribute
|
||||
* <<.from-version "5.2.2">> Optionally, the DOM node targeted by the event must also match the widgets `matchSelector` attribute
|
||||
* The event must support event bubbling
|
||||
|
||||
Use of the event catcher widget is beneficial when using large numbers of other trigger widgets such as the ButtonWidget is causing performance problems. The workflow it enables is akin to what is referred to as "event delegation" in JavaScript parlance.
|
||||
@@ -27,7 +27,7 @@ The content of the `<$eventcatcher>` widget is displayed normally.
|
||||
|
||||
|!Attribute |!Description |
|
||||
|selector |A CSS selector. Only events originating inside a DOM node with this selector will be trapped |
|
||||
|matchSelector |<<.from-version "5.2.2">> An optional CSS selector. Only events targetting DOM nodes matching this selector will be trapped |
|
||||
|matchSelector |<<.from-version "5.2.2">> An optional CSS selector. Only events targeting DOM nodes matching this selector will be trapped |
|
||||
|//{any attributes starting with $}// |<<.from-version "5.2.0">> Each attribute name (excluding the $) specifies the name of an event, and the value specifies the action string to be invoked. For example: `$click=<<clickActions>>` |
|
||||
|tag |Optional. The HTML element the widget creates to capture the events, defaults to:<br>» `span` when parsed in inline-mode<br>» `div` when parsed in block-mode |
|
||||
|class |Optional. A CSS class name (or names) to be assigned to the widget HTML element |
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
caption: genesis
|
||||
created: 20221101100729587
|
||||
modified: 20221101100729587
|
||||
modified: 20230115101800345
|
||||
tags: Widgets
|
||||
title: GenesisWidget
|
||||
type: text/vnd.tiddlywiki
|
||||
|
||||
! Introduction
|
||||
|
||||
<<.from-version "5.2.4">> The <<.wlink GenesisWidget>> widget allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance.
|
||||
<<.from-version "5.2.4">> The <<.wid genesis>> widget allows the dynamic construction of another widget, where the name and attributes of the new widget can be dynamically determined, without needing to be known in advance.
|
||||
|
||||
! Content and Attributes
|
||||
|
||||
The content of the <<.wlink GenesisWidget>> widget is used as the content of the dynamically created widget.
|
||||
The content of the <<.wid genesis>> widget is used as the content of the dynamically created widget.
|
||||
|
||||
|!Attribute |!Description |
|
||||
|$type |The type of widget or element to create (an initial `$` indicates a widget, otherwise an HTML element will be created) |
|
||||
|$names |An optional filter evaluating to the names of a list of attributes to be applied to the widget |
|
||||
|$values |An optional filter evaluating to the values corresponding to the list of names specified in `$names` |
|
||||
|$values |An optional filter evaluating to the values corresponding to the list of names specified in <<.attr $names>> |
|
||||
|//{other attributes starting with $}// |Other attributes starting with a single dollar sign are reserved for future use |
|
||||
|//{attributes starting with $$}// |Attributes starting with two dollar signs are appplied as attributes to the output widget, but with the attribute name changed to use a single dollar sign |
|
||||
|//{attributes starting with $$}// |Attributes starting with two dollar signs are applied as attributes to the output widget, but with the attribute name changed to use a single dollar sign |
|
||||
|//{attributes not starting with $}// |Any other attributes that do not start with a dollar are applied as attributes to the output widget |
|
||||
|
||||
Note that attributes explicitly specified take precedence over attributes with the same name specified in the `$names` filter.
|
||||
<<.tip """Note that attributes explicitly specified take precedence over attributes with the same name specified in the <<.attr $names>> filter.""">>
|
||||
|
||||
! Examples
|
||||
|
||||
<$macrocall $name='wikitext-example-without-html'
|
||||
src='<$genesis $type="div" class="tc-thing" label="Squeak">Mouse</$genesis>'/>
|
||||
<$macrocall $name="wikitext-example"
|
||||
src="""<$genesis $type="div" class="tc-thing" label="Squeak">Mouse</$genesis>"""/>
|
||||
|
||||
<$macrocall $name='wikitext-example-without-html'
|
||||
<$macrocall $name="wikitext-example"
|
||||
src="""\define my-banner(mode:"inline",caption)
|
||||
<$genesis $type={{{ [<__mode__>match[inline]then[span]else[div]] }}} class="tc-mybanner">
|
||||
<<__caption__>>
|
||||
@@ -39,3 +39,10 @@ src="""\define my-banner(mode:"inline",caption)
|
||||
|
||||
<<my-banner mode:"block" caption:"I'm in a DIV">>
|
||||
"""/>
|
||||
|
||||
! Important
|
||||
|
||||
<$macrocall $name=".warning" _="""
|
||||
In the following example the widget attribute named `one` is not present in the HTML output. This is because HTML attributes starting with the prefix `on` are removed for security reasons. See [[HTML in WikiText]] "Security" for more details. This restriction only affects generated HTML elements, and does not prevent the use of attributes prefixed `on` with other widgets"""/>
|
||||
|
||||
<<wikitext-example '<$genesis $type="my-element" $names="one two" $values="1 2">Test Genesis Widget</$genesis>'>>
|
||||
|
||||
@@ -17,7 +17,7 @@ The navigator widget displays any contained content, and responds to Messages di
|
||||
|story |Name of the tiddler containing the story list to be manipulated |
|
||||
|history |Name of the tiddler containing the history list to be manipulated |
|
||||
|openLinkFromInsideRiver |Determines the location for opening new tiddlers from links within the story river: at the ''top'' or ''bottom'' of the story river, or ''above'' or ''below'' the current tiddler |
|
||||
|openLinkFromOutsideRiver|Determines the location for opening new tiddlers from linkes outside the story river: at the ''top'' or ''bottom'' of the story river|
|
||||
|openLinkFromOutsideRiver|Determines the location for opening new tiddlers from links outside the story river: at the ''top'' or ''bottom'' of the story river|
|
||||
|relinkOnRename|<<.from-version "5.1.14">> Determines if tags in other tiddlers are renamed if the tiddler title changes. ''yes'' or ''no''. default: ''no''|
|
||||
|
||||
! Widget Messages
|
||||
|
||||
@@ -48,5 +48,5 @@ In contrast, here is the same example using the <<.wid set>> widget:
|
||||
It should be noted that this widget differs from the <<.wid set>> widget in the following ways:
|
||||
|
||||
* A fallback (also known as "emptyValue") cannot be specified
|
||||
* Filters cannot be used to produce a conditional variable assignement
|
||||
* Filters cannot be used to produce a conditional variable assignment
|
||||
* Variable names must be literal strings
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
caption: HTML
|
||||
created: 20131205160816081
|
||||
modified: 20220123174919252
|
||||
modified: 20230115100934146
|
||||
tags: WikiText
|
||||
title: HTML in WikiText
|
||||
type: text/vnd.tiddlywiki
|
||||
@@ -31,7 +31,14 @@ some text <!-- inline comment -->
|
||||
|
||||
! Important
|
||||
|
||||
<<.tip """[[Widgets share the same syntax as HTML tags|Widgets in WikiText]], and so the following information applies to them, too.""">>
|
||||
!! Security
|
||||
|
||||
<<.warning """Note that any HTML attributes prefixed with `on` are removed from the rendered HTML content. This is done to prevent event handlers (such as "onclick") being used as a clandestine way to execute untrusted JavaScript. A design goal of TiddlyWiki is to ensure that executable JavaScript can only enter the system through explicit JavaScript module tiddlers or raw markup tiddlers. This makes it possible to filter unsafe content in multiuser environments, and also makes it safer to copy untrusted wikitext examples.""">>
|
||||
|
||||
!! Widgets
|
||||
|
||||
<<.tip """[[Widgets share the same syntax as HTML tags|Widgets in WikiText]]<br>and so the following information applies to them, too.""">>
|
||||
|
||||
|
||||
! Block mode versus Inline mode
|
||||
|
||||
@@ -47,7 +54,7 @@ The following tags are treated as 'void'. This means that `<tag>` is treated as
|
||||
|
||||
* `<area>`, `<base>`, `<br>`, `<col>`, `<command>`, `<embed>`, `<hr>`, `<img>`, `<input>`, `<keygen>`, `<link>`, `<meta>`, `<param>`, `<source>`, `<track>`, `<wbr>`
|
||||
|
||||
If you don’t close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.
|
||||
If you do not close any other tag then it will behave as if the missing closing tag were at the end of the tiddler.
|
||||
|
||||
! Attributes
|
||||
|
||||
@@ -114,7 +121,7 @@ attr={{tiddler}}
|
||||
attr={{!!field}}
|
||||
attr={{tiddler!!field}}
|
||||
```
|
||||
<<.warning "The attribute's value will be the exact text retrieved from the TextReference. Any wiki syntax in that text will be left as-is.">>
|
||||
<<.warning "The value of the attribute value will be the exact text retrieved from the TextReference. Any wiki syntax in that text will be left as-is.">>
|
||||
|
||||
!! Variable Attribute Values
|
||||
|
||||
@@ -125,7 +132,7 @@ Variable attribute values are indicated with double angle brackets around a [[ma
|
||||
...
|
||||
</div>
|
||||
```
|
||||
<<.warning "The text from the macro's definition will be retrieved and text substitution will be performed (i.e. <<.param $param$>> and <<.param $(...)$>> syntax). The attribute's value will be the resulting text. Any wiki syntax in that text (including further macro calls and variable references) will be left as-is.">>
|
||||
<<.warning "The text from the definition of the macro will be retrieved and text substitution will be performed (i.e. <<.param $param$>> and <<.param $(...)$>> syntax). The value of the attribute value will be the resulting text. Any wiki syntax in that text (including further macro calls and variable references) will be left as-is.">>
|
||||
|
||||
!! Filtered Attribute Values
|
||||
|
||||
@@ -138,4 +145,4 @@ This example shows how to add a prefix to a value:
|
||||
```
|
||||
<$text text={{{ [<currentTiddler>addprefix[$:/myprefix/]] }}} />
|
||||
```
|
||||
<<.warning "The attribute's value will be the exact text from the first item in the resulting list. Any wiki syntax in that text will be left as-is.">>
|
||||
<<.warning "The value of the attribute will be the exact text from the first item in the resulting list. Any wiki syntax in that text will be left as-is.">>
|
||||
|
||||
@@ -98,5 +98,17 @@ Note that the textual substitution of macro parameters that occurs when the oute
|
||||
|
||||
Parameters of nested macros can also be accessed via the `<<__variablename__>>` syntax. As ordinary variables, these parameters are available within nested child macros (and grandchildren etc).
|
||||
|
||||
For the one-liner macro definition, the `\end` remains unnecessary for the inner macro. For example
|
||||
|
||||
<<wikitext-example-without-html src:"""\define special-button(caption:"Click me")
|
||||
\define actions() <$action-sendmessage $message="tm-notify" $param="HelloThere"/>
|
||||
<$button actions=<<actions>>>
|
||||
$caption$
|
||||
</$button>
|
||||
\end special-button
|
||||
|
||||
<<special-button>>
|
||||
""">>
|
||||
|
||||
A more formal [[presentation|Macro Definition Syntax]] of this syntax is also available.
|
||||
|
||||
|
||||
@@ -503,3 +503,19 @@ HuanCheng Bai, @bestony, 2022/09/17
|
||||
Carlo Colombo, @carlo-colombo, 2022/11/30
|
||||
|
||||
Wincent Balin, @wincentbalin, 2022/12/18
|
||||
|
||||
Jeffrey Zhang, @jeffrey4l, 2022/12/24
|
||||
|
||||
cs84285, @cs8425, 2022/12/30
|
||||
|
||||
Nick Bell, @newmedicine, 2023/01/01
|
||||
|
||||
Frank Kmiec, @fkmiec, 2023-01-01
|
||||
|
||||
Pippo Peppo, @pippep, 2023-01-03
|
||||
|
||||
Scott Sauye, @CrossEye, 2023-01-04
|
||||
|
||||
Marcus Winter, @yaisog, 2023-01-07
|
||||
|
||||
Ethan Weller, @gamedungeon, 2023-01-17
|
||||
|
||||
Reference in New Issue
Block a user