created: 20140720164948099 modified: 20240131100514913 tags: Mechanisms title: InfoMechanism type: text/vnd.tiddlywiki \define example(name) <$transclude tiddler="""$:/info/url/$name$""" mode="inline"/> \end System tiddlers in the namespace `$:/info/` are used to expose information about the system (including the current browser) so that WikiText applications can adapt themselves to available features. ! Information Tiddlers |!Title |!Description | |[[$:/info/startup-timestamp]] |<<.from-version "5.1.23">> Startup timestamp in ~TiddlyWiki date format | |[[$:/info/browser]] |Running in the browser? ("yes" or "no") | |[[$:/info/mobile]] |<<.from-version "5.2.3">> Is running on a mobile device? ("yes" or "no" - eg, ''<>'') | |[[$:/info/browser/language]] |<<.from-version "5.1.20">> Language as reported by browser (note that some browsers report two character codes such as `en` while others report full codes such as `en-GB`) | |[[$:/info/browser/screen/width]] |Screen width in pixels | |[[$:/info/browser/screen/height]] |Screen height in pixels | |[[$:/info/node]] |Running under [[Node.js]]? ("yes" or "no") | |[[$:/info/url/full]] |<<.from-version "5.1.14">> Full URL of wiki (eg, ''<>'') | |[[$:/info/url/host]] |<<.from-version "5.1.14">> Host portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/hostname]] |<<.from-version "5.1.14">> Hostname portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/origin]] |<<.from-version "5.1.14">> Origin portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/pathname]] |<<.from-version "5.1.14">> Pathname portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/port]] |<<.from-version "5.1.14">> Port portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/protocol]] |<<.from-version "5.1.14">> Protocol portion of URL of wiki (eg, ''<>'') | |[[$:/info/url/search]] |<<.from-version "5.1.14">> Search portion of URL of wiki (eg, ''<>'') | |[[$:/info/darkmode]] |<<.from-version "5.1.23">> Is dark mode enabled? ("yes" or "no") | !! Last Saved -- Single File Wiki The following tiddlers will be "injected" into the HTML file when the wiki is saved. Tagged template tiddlers are used to create the info tiddlers. Those tiddlers will be overwritten with the next automatic or manual save action. `$:/info/last-saved/*` will not be created on a server if used with a client-server configuration. They will be created, if a "snapshot" is saved to the disk. |! Title |! Description | |$:/info/last-saved/timestamp |<<.from-version "5.3.4">> This tiddler will be created when a single file wiki is saved. It uses ~TiddlyWiki DateFormat | |$:/info/last-saved/date |<<.from-version "5.3.4">> Shows the same last-saved timestamp in human readable form. Eg: "2024-01-30 15:36:04.430 UTC +01:00"
using the following format: `[UTC]YYYY-0MM-0DD 0hh:0mm:0ss.0XXX UTC TZD` | !! Client Server Configuration <<.warning """If a client server configuration is used, the TW template is used to create the wiki file on the server. So the timestamps saved to the "server-created" info tiddlers are generated by the server. Depending on the server "local time" this timestamp ''can be different'' to the current "user time". Whenever the wiki file is created, the values will be set. `server-created-*` tiddlers will ''not'' be deleted if saved as a single file. The information may have some value""">> |! Title |! Description | |$:/info/server-created-wiki/timestamp |<<.from-version "5.3.4">> This tiddler will be created when the server creates a wiki to be transferred to the client, ''ore'' if as single-file wiki is created by the server using the `--build index` command. It uses ~TiddlyWiki DateFormat | |$:/info/server-created-wiki/date |<<.from-version "5.3.4">> Shows the same timestamp in human readable form | !! Additional information By default ~TiddlyWiki does not save the full URL information to the file, due to privacy concerns. Eg: `$:/info/last-saved/full/url` can contain private information. Users are free to include the following code into their wiki, if they decide to do so.
Show code to add the full path to an info tiddler <$codeblock code="""title: inject-full-path tags: $:/tags/InfoTiddlerTemplate \whitespace trim \function timestamp() [] <% if [{$:/info/browser}match[yes]] %> <$text text=<>/> `{"title": "$:/info/last-saved/full/url", "created":"`<>`", "modified":"`<>`", "text":"`{{$:/info/url/full}}`"}` <% endif %> """/>