1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-25 04:14:40 +00:00

Compare commits

..

23 Commits

Author SHA1 Message Date
Jeremy Ruston
be65f55c9e Standardise whitespace in conditional shortcut syntax 2024-09-02 14:47:48 +01:00
Mario Pietsch
842605d28e fix advanced search filter input eats key presses (#8578) 2024-09-01 18:53:37 +01:00
Jeremy Ruston
f6cd7608f5 Release note clarification 2024-09-01 17:54:14 +01:00
Mario Pietsch
8e1cad5a59 Fix HTML nesting error causing typing problem in advanced search filter tab in Firefox (#8577) 2024-09-01 17:48:59 +01:00
Jeremy Ruston
d70b23e439 Add link to Jeremy's QCon talk 2024-09-01 17:08:08 +01:00
Jeremy Ruston
81405ee8f4 Further tweaks to release note 2024-09-01 16:57:20 +01:00
Jeremy Ruston
16e7510c72 Update release note 2024-09-01 16:34:44 +01:00
Jeremy Ruston
26acd9be72 Fix whitespace in social media cards
Apologies @simonbaird this is the belated fix to the issue you mentioned in https://github.com/TiddlyWiki/TiddlyWiki5/pull/8441#issuecomment-2276175490
2024-08-30 14:55:14 +01:00
btheado
9a4aafdb41 Prevent geospatial plugin exception when geomap contains empty geolayer widget (#8484)
* Prevent exception when geomap contains empty geolayer widget

* Convert testcase widget into testcase tiddler
2024-08-30 14:21:46 +01:00
btheado
5094096a87 Add import field to testcase tiddlers (#8499)
* Convert "import" field of testcase tiddlers into $data widget with $filter attribute

* Add documentation for testcase tiddler import field and fixed typo and grammar
2024-08-30 14:21:24 +01:00
Leilei332
98d411c08a Add empty message to tag picker, search dropdown and advanced search (#8558)
* Add empty message to tag picker, search dropdown and advanced search

* Add empty message for tag-picker

* Use italic font
2024-08-30 10:39:33 +01:00
Jeremy Ruston
7dfdbae812 Keyboard widget should not crash if the keyboard manager has not been initialised
A user reported a problem with using the keyboard widget within a startup action.
2024-08-29 17:25:30 +01:00
Leilei332
6b13614a6a Fix duplicated search result in advanced search (#8485)
* Fix multiple search result in advanced search

* Use $list-empty widget
2024-08-28 15:24:56 +01:00
Bram Chen
c9f816fb53 Update chinese language files (#8495)
* Update chinese language files

* Add chinese translations of control panel UI for social media cards

* Update chinese language files

* Add chinese translations for Excise/DefaultTitle

* Update chinese language files

* Improve Simplified Chinese translation for SocialCard/Hint
2024-08-28 08:39:36 +01:00
Leilei332
d3cea5d730 Further fix search outline (#8552)
* Fix outline color not showing properly for dark palettes

A further fix after #7317

* Tweak outline style for firefox
2024-08-27 16:41:47 +01:00
Jeremy Ruston
fb9459a0dd Fix since-version docs macro to make extra information optional 2024-08-27 15:42:13 +01:00
Leilei332
98cd4a09b4 Make the default title created by excision translatable (#8500)
* Make the default title created by excision translatable

* Use $tw.language.getString to get language string
2024-08-27 09:26:42 +01:00
Jeremy Ruston
fa423e508f Put saver OPTIONS request: fix interpretation of success codes
Fixes #8554
2024-08-26 21:50:44 +01:00
Mario Pietsch
bcae5cc2ef Fix 7142 search outline in chrome like browsers (#7317)
* fix 7142 search outline in chrome like browsers

* use moz-focusring only for FF, outline-initial for Chrome

* moz-focusring remove outline-offset

* remove box-sizing from base, because it's part of reset

* remove redundant box-sizing since it is part of reset

* fix distance between search input and first button to the right
2024-08-25 11:37:29 +01:00
Leilei332
6264aa22d0 Fix unwrapped oveflowed code blocks not showing scroll bars when setting "Wrap long lines in code blocks" to "No" in "Theme tweaks" (#8413)
* Fix unwrapped oveflowed code blocks not showing scroll bars

* Inline code should not follow "Wrap long lines in code blocks" option

* Revert "Inline code should not follow "Wrap long lines in code blocks" option"

This reverts commit 4615a04e59.

* Inline code should not obey "Wrap long lines in code blocks" option

Fix problem described in #8549
2024-08-24 13:57:24 +01:00
Leilei332
6d05afebc4 Fix scaled language icon in dropdown (#8546) 2024-08-22 17:32:29 +01:00
Jeremy Ruston
890b48ce91 Merge branch 'tiddlywiki-com' 2024-08-22 09:45:35 +01:00
Mario Pietsch
cd362c78c3 [Docs] Simplify the Railroad Plugin tiddler (#8536)
* [Docs] Simplify the Railroad Plugin tiddler

* Update Railroad Diagrams.tid

* Update Railroad Plugin.tid
2024-08-21 07:35:17 +01:00
51 changed files with 320 additions and 604 deletions

View File

@@ -133,6 +133,7 @@ Excise/Caption/Replace/Link: link
Excise/Caption/Replace/Transclusion: transclusion
Excise/Caption/Tag: Tag new tiddler with the title of this tiddler
Excise/Caption/TiddlerExists: Warning: tiddler already exists
Excise/DefaultTitle: New Excision
Excise/Hint: Excise the selected text into a new tiddler
Heading1/Caption: heading 1
Heading1/Hint: Apply heading level 1 formatting to lines containing selection

View File

@@ -26,6 +26,7 @@ Tags/ClearInput/Caption: clear input
Tags/ClearInput/Hint: Clear tag input
Tags/Dropdown/Caption: tag list
Tags/Dropdown/Hint: Show tag list
Tags/EmptyMessage: (no search result)
Title/BadCharacterWarning: Warning: avoid using any of the characters <<bad-chars>> in tiddler titles
Title/Exists/Prompt: Target tiddler already exists
Title/Relink/Prompt: Update ''<$text text=<<fromTitle>>/>'' to ''<$text text=<<toTitle>>/>'' in the //tags// and //list// fields of other tiddlers

View File

@@ -6,6 +6,8 @@ Filter/Hint: Search via a [[filter expression|https://tiddlywiki.com/static/Filt
Filter/Matches: //<small><<resultCount>> matches</small>//
Matches: //<small><<resultCount>> matches</small>//
Matches/All: All matches:
Matches/NoMatch: //No match//
Matches/NoResult: //No search result//
Matches/Title: Title matches:
Search: Search
Search/TooShort: Search text too short

View File

@@ -14,11 +14,12 @@ Text editor operation to excise the selection to a new tiddler
exports["excise"] = function(event,operation) {
var editTiddler = this.wiki.getTiddler(this.editTitle),
editTiddlerTitle = this.editTitle;
editTiddlerTitle = this.editTitle,
excisionBaseTitle = $tw.language.getString("Buttons/Excise/DefaultTitle");
if(editTiddler && editTiddler.fields["draft.of"]) {
editTiddlerTitle = editTiddler.fields["draft.of"];
}
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle("New Excision");
var excisionTitle = event.paramObject.title || this.wiki.generateNewTitle(excisionBaseTitle);
this.wiki.addTiddler(new $tw.Tiddler(
this.wiki.getCreationFields(),
this.wiki.getModificationFields(),

View File

@@ -6,7 +6,7 @@ module-type: wikirule
Conditional shortcut syntax
```
This is a <% if [{something}] %>Elephant<% elseif [{else}] %>Pelican<% else %>Crocodile<% endif %>
This is a <%if [{something}] %>Elephant<%elseif [{else}] %>Pelican<%else%>Crocodile<%endif%>
```
\*/
@@ -27,7 +27,7 @@ exports.init = function(parser) {
};
exports.findNextMatch = function(startPos) {
// Look for the next <% if shortcut
// Look for the next <%if shortcut
this.matchRegExp.lastIndex = startPos;
this.match = this.matchRegExp.exec(this.parser.source);
// If not found then return no match

View File

@@ -55,7 +55,7 @@ var PutSaver = function(wiki) {
callback: function(err,data,xhr) {
// Check DAV header http://www.webdav.org/specs/rfc2518.html#rfc.section.9.1
if(!err) {
self.serverAcceptsPuts = xhr.status === 200 && !!xhr.getResponseHeader("dav");
self.serverAcceptsPuts = xhr.status >= 200 && xhr.status < 300 && !!xhr.getResponseHeader("dav");
}
}
});

View File

@@ -96,13 +96,15 @@ KeyboardWidget.prototype.execute = function() {
this.param = this.getAttribute("param","");
this.key = this.getAttribute("key","");
this.tag = this.getAttribute("tag","");
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
if($tw.keyboardManager) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
if(this.key.substr(0,2) === "((" && this.key.substr(-2,2) === "))") {
this.shortcutTiddlers = [];
var name = this.key.substring(2,this.key.length -2);
$tw.utils.each($tw.keyboardManager.lookupNames,function(platformDescriptor) {
self.shortcutTiddlers.push("$:/config/" + platformDescriptor + "/" + name);
});
}
}
// Make child widgets
this.makeChildWidgets();
@@ -126,7 +128,7 @@ KeyboardWidget.prototype.refresh = function(changedTiddlers) {
this.assignDomNodeClasses();
}
// Update the keyInfoArray if one of its shortcut-config-tiddlers has changed
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers)) {
if(this.shortcutTiddlers && $tw.utils.hopArray(changedTiddlers,this.shortcutTiddlers) && $tw.keyboardManager) {
this.keyInfoArray = $tw.keyboardManager.parseKeyDescriptors(this.key);
}
return this.refreshChildren(changedTiddlers);

View File

@@ -1,212 +0,0 @@
color-scheme: dark
description: An inky color scheme for prose and code from https://stephango.com/flexoki
name: FlexokiDark
tags: $:/tags/Palette
title: $:/palettes/FlexokiDark
type: application/x-tiddler-dictionary
flexoki-paper: #FFFCF0
flexoki-999: #100F0F
flexoki-950: #1C1B1A
flexoki-900: #282726
flexoki-850: #343331
flexoki-800: #403E3C
flexoki-700: #575653
flexoki-600: #6c6b66
flexoki-500: #878580
flexoki-300: #B7B5AC
flexoki-200: #CECDC3
flexoki-150: #DAD8CE
flexoki-100: #E6E4D9
flexoki-050: #F2F0E5
flexoki-red-600: #AF3029
flexoki-red-400: #D14D41
flexoki-orange-600: #BC5215
flexoki-orange-400: #DA702C
flexoki-yellow-900: #4D3A0B
flexoki-yellow-600: #AD8301
flexoki-yellow-400: #D0A215
flexoki-yellow-100: #FCEEB8
flexoki-green-600: #66800B
flexoki-green-400: #879A39
flexoki-cyan-950: #142625
flexoki-cyan-600: #227d77
flexoki-cyan-400: #3AA99F
flexoki-cyan-050: #EBF2E7
flexoki-blue-600: #205EA6
flexoki-blue-400: #4385BE
flexoki-purple-600: #5E409D
flexoki-purple-400: #8B7EC8
flexoki-magenta-600: #A02F6F
flexoki-magenta-400: #CE5D97
flexoki-bg: <<colour flexoki-999>>
flexoki-tx-2: <<colour flexoki-500>>
flexoki-tx-3: <<colour flexoki-700>>
flexoki-ui-3: <<colour flexoki-800>>
flexoki-ui-2: <<colour flexoki-850>>
flexoki-ui: <<colour flexoki-900>>
flexoki-bg-2: <<colour flexoki-950>>
flexoki-tx: <<colour flexoki-300>>
flexoki-re: <<colour flexoki-red-400>>
flexoki-or: <<colour flexoki-orange-400>>
flexoki-ye: <<colour flexoki-yellow-400>>
flexoki-gr: <<colour flexoki-green-400>>
flexoki-cy: <<colour flexoki-cyan-400>>
flexoki-bl: <<colour flexoki-blue-400>>
flexoki-pu: <<colour flexoki-purple-400>>
flexoki-ma: <<colour flexoki-magenta-400>>
flexoki-re-2: <<colour flexoki-red-600>>
flexoki-or-2: <<colour flexoki-orange-600>>
flexoki-ye-2: <<colour flexoki-yellow-600>>
flexoki-gr-2: <<colour flexoki-green-600>>
flexoki-cy-2: <<colour flexoki-cyan-600>>
flexoki-bl-2: <<colour flexoki-blue-600>>
flexoki-pu-2: <<colour flexoki-purple-600>>
flexoki-ma-2: <<colour flexoki-magenta-600>>
alert-background: <<colour flexoki-yellow-100>>
alert-border: <<colour flexoki-ye-2>>
alert-highlight: <<colour flexoki-re>>
alert-muted-foreground: <<colour flexoki-ye>>
background: #1C1B1A
blockquote-bar: <<colour flexoki-ma-2>>
button-background: <<colour flexoki-bg-2>>
button-foreground: <<colour flexoki-paper>>
button-border: <<colour flexoki-600>>
code-background: <<colour background>>
code-border: <<colour flexoki-tx>>
code-foreground: <<colour flexoki-tx>>
diff-delete-background: <<colour flexoki-re>>
diff-delete-foreground: <<colour flexoki-paper>>
diff-equal-background:
diff-equal-foreground: inherit
diff-insert-background: <<colour flexoki-gr>>
diff-insert-foreground: <<colour flexoki-paper>>
diff-invisible-background: <<colour flexoki-ye>>
diff-invisible-foreground: <<colour flexoki-paper>>
dirty-indicator: <<colour flexoki-re>>
download-background: <<colour flexoki-cy-2>>
download-foreground: <<colour background>>
dragger-background: <<colour background>>
dragger-foreground: <<colour foreground>>
dropdown-background: <<colour background>>
dropdown-border: <<colour flexoki-ui-3>>
dropdown-tab-background-selected: <<colour flexoki-ui>>
dropdown-tab-background: <<colour flexoki-ui-3>>
dropzone-background: <<colour flexoki-gr>>
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: <<colour flexoki-bl>>
external-link-foreground: <<colour flexoki-bl>>
footnote-target-background: <<colour flexoki-bg-2>>
foreground: #B7B5AC
highlight-background: #ffff00
highlight-foreground: #000000
menubar-background: <<colour primary>>
menubar-foreground: <<colour flexoki-paper>>
message-background: <<colour background>>
message-border: <<colour foreground>>
message-foreground: <<colour foreground>>
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: <<colour flexoki-ui-3>>
modal-footer-background: <<colour flexoki-ui-2>>
modal-footer-border: <<colour flexoki-ui-3>>
modal-header-border: <<colour flexoki-ui-3>>
muted-foreground: <<colour flexoki-tx-2>>
network-activity-foreground: <<colour flexoki-cy>>
notification-background: <<colour flexoki-ui-3>>
notification-border: <<colour flexoki-ui>>
page-background: <<colour flexoki-bg-2>>
pre-background: <<colour flexoki-ui-3>>
pre-border: <<colour flexoki-ui-2>>
primary: <<colour flexoki-cy>>
selection-background: #2b7b73
selection-foreground: <<colour flexoki-tx>>
select-tag-background: <<colour flexoki-bg>>
select-tag-foreground: <<colour flexoki-paper>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
sidebar-controls-foreground: <<colour flexoki-tx-3>>
sidebar-foreground-shadow: transparent
sidebar-foreground: <<colour flexoki-tx>>
sidebar-muted-foreground-hover: <<colour flexoki-tx>>
sidebar-muted-foreground: <<colour flexoki-tx-3>>
sidebar-tab-background-selected: <<colour flexoki-bg>>
sidebar-tab-background: <<colour flexoki-ui-2>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: #e4e4e4
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: <<colour flexoki-tx>>
sidebar-tiddler-link-foreground: <<colour flexoki-tx-2>>
site-title-foreground: <<colour tiddler-title-foreground>>
stability-stable: <<colour flexoki-gr>>
stability-experimental: <<colour flexoki-ye>>
stability-deprecated: <<colour flexoki-re>>
stability-legacy: <<colour flexoki-bl>>
static-alert-foreground: #aaaaaa
tab-background-selected: <<colour background>>
tab-background: <<colour flexoki-bg-2>>
tab-border-selected: <<colour flexoki-ui-3>>
tab-border: <<colour flexoki-ui>>
tab-divider: <<colour flexoki-ui-2>>
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: <<colour flexoki-tx-2>>
table-border: <<colour flexoki-ui>>
table-footer-background: <<colour flexoki-ui>>
table-header-background: <<colour flexoki-ui>>
tag-background: #D0A215
tag-foreground: #100F0F
testcase-accent-level-1: <<colour flexoki-bl-2>>
testcase-accent-level-2: <<colour flexoki-ye-2>>
testcase-accent-level-3: <<colour flexoki-gr-2>>
tiddler-background: <<colour background>>
tiddler-border: <<colour flexoki-ui-2>>
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
tiddler-controls-foreground: <<colour flexoki-ui-2>>
tiddler-editor-background: <<colour flexoki-bg-2>>
tiddler-editor-border-image: #ffffff
tiddler-editor-border: <<colour flexoki-ui-2>>
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
tiddler-info-background: <<colour flexoki-ui>>
tiddler-info-border: <<colour flexoki-ui>>
tiddler-info-tab-background: <<colour flexoki-ui>>
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: <<colour flexoki-tx-3>>
tiddler-title-foreground: <<colour flexoki-ma>>
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button:
toolbar-cancel-button:
toolbar-done-button:
untagged-background: #999999
very-muted-foreground: <<colour flexoki-600>>
wikilist-background: #e5e5e5
wikilist-item: #fff
wikilist-info: #000
wikilist-title: #666
wikilist-title-svg: <<colour wikilist-title>>
wikilist-url: #aaa
wikilist-button-open: #4fb82b
wikilist-button-open-hover: green
wikilist-button-reveal: #5778d8
wikilist-button-reveal-hover: blue
wikilist-button-remove: #d85778
wikilist-button-remove-hover: red
wikilist-toolbar-background: #d3d3d3
wikilist-toolbar-foreground: #888
wikilist-droplink-dragover: rgba(255,192,192,0.5)
wikilist-button-background: #acacac
wikilist-button-foreground: #000

View File

@@ -1,214 +0,0 @@
title: $:/palettes/FlexokiLight
name: FlexokiLight
description: An inky color scheme for prose and code from https://stephango.com/flexoki
tags: $:/tags/Palette
type: application/x-tiddler-dictionary
color-scheme: light
flexoki-black: #100F0F
flexoki-paper: #FFFCF0
flexoki-950: #1C1B1A
flexoki-900: #282726
flexoki-850: #343331
flexoki-800: #403E3C
flexoki-700: #575653
flexoki-600: #6F6E69
flexoki-500: #878580
flexoki-300: #B7B5AC
flexoki-200: #CECDC3
flexoki-150: #DAD8CE
flexoki-100: #E6E4D9
flexoki-050: #F2F0E5
flexoki-red-600: #AF3029
flexoki-red-400: #D14D41
flexoki-orange-600: #BC5215
flexoki-orange-400: #DA702C
flexoki-yellow-900: #4D3A0B
flexoki-yellow-600: #AD8301
flexoki-yellow-400: #D0A215
flexoki-yellow-100: #FCEEB8
flexoki-green-600: #66800B
flexoki-green-400: #879A39
flexoki-cyan-950: #142625
flexoki-cyan-600: #24837B
flexoki-cyan-400: #3AA99F
flexoki-cyan-050: #EBF2E7
flexoki-blue-600: #205EA6
flexoki-blue-400: #4385BE
flexoki-purple-600: #5E409D
flexoki-purple-400: #8B7EC8
flexoki-magenta-600: #A02F6F
flexoki-magenta-400: #CE5D97
flexoki-tx: <<colour flexoki-black>>
flexoki-tx-2: <<colour flexoki-600>>
flexoki-tx-3: <<colour flexoki-300>>
flexoki-ui-3: <<colour flexoki-200>>
flexoki-ui-2: <<colour flexoki-150>>
flexoki-ui: <<colour flexoki-100>>
flexoki-bg-2: <<colour flexoki-050>>
flexoki-bg: <<colour flexoki-paper>>
flexoki-re: <<colour flexoki-red-400>>
flexoki-or: <<colour flexoki-orange-400>>
flexoki-ye: <<colour flexoki-yellow-400>>
flexoki-gr: <<colour flexoki-green-400>>
flexoki-cy: <<colour flexoki-cyan-400>>
flexoki-bl: <<colour flexoki-blue-400>>
flexoki-pu: <<colour flexoki-purple-400>>
flexoki-ma: <<colour flexoki-magenta-400>>
flexoki-re-2: <<colour flexoki-red-600>>
flexoki-or-2: <<colour flexoki-orange-600>>
flexoki-ye-2: <<colour flexoki-yellow-600>>
flexoki-gr-2: <<colour flexoki-green-600>>
flexoki-cy-2: <<colour flexoki-cyan-600>>
flexoki-bl-2: <<colour flexoki-blue-600>>
flexoki-pu-2: <<colour flexoki-purple-600>>
flexoki-ma-2: <<colour flexoki-magenta-600>>
alert-background: <<colour flexoki-yellow-100>>
alert-border: <<colour flexoki-ye-2>>
alert-highlight: <<colour flexoki-re-2>>
alert-muted-foreground: <<colour flexoki-tx-2>>
background: #FFFCF0
blockquote-bar: <<colour flexoki-magenta-600>>
button-background: <<colour flexoki-bg-2>>
button-foreground: <<colour flexoki-black>>
button-border: <<colour flexoki-500>>
code-background: <<colour flexoki-bg>>
code-border: <<colour flexoki-tx>>
code-foreground: <<colour flexoki-tx>>
diff-delete-background: <<colour flexoki-re-2>>
diff-delete-foreground: <<colour flexoki-paper>>
diff-equal-background:
diff-equal-foreground: <<colour foreground>>
diff-insert-background: <<colour flexoki-gr-2>>
diff-insert-foreground: <<colour flexoki-paper>>
diff-invisible-background: <<colour flexoki-ye-2>>
diff-invisible-foreground: <<colour flexoki-paper>>
dirty-indicator: <<colour flexoki-red-600>>
download-background: <<colour flexoki-gr>>
download-foreground: <<colour background>>
dragger-background: <<colour foreground>>
dragger-foreground: <<colour background>>
dropdown-background: <<colour background>>
dropdown-border: <<colour muted-foreground>>
dropdown-tab-background-selected: #fff
dropdown-tab-background: #ececec
dropzone-background: <<colour flexoki-gr>>
external-link-background-hover: inherit
external-link-background-visited: inherit
external-link-background: inherit
external-link-foreground-hover: inherit
external-link-foreground-visited: <<colour flexoki-bl>>
external-link-foreground: <<colour flexoki-bl>>
footnote-target-background: <<colour flexoki-bg-2>>
foreground: #100F0F
highlight-background: #ffff00
highlight-foreground: #000000
menubar-background: <<colour primary>>
menubar-foreground: <<colour flexoki-paper>>
message-background: <<colour flexoki-bg>>
message-border: <<colour flexoki-black>>
message-foreground: <<colour flexoki-black>>
modal-backdrop: <<colour foreground>>
modal-background: <<colour background>>
modal-border: #999999
modal-footer-background: #f5f5f5
modal-footer-border: #dddddd
modal-header-border: #eeeeee
muted-foreground: <<colour flexoki-500>>
network-activity-foreground: <<colour flexoki-cy-2>>
notification-background: <<colour flexoki-bg>>
notification-border: <<color flexoki-black>>
page-background: <<colour flexoki-bg-2>>
pre-background: <<colour flexoki-bg>>
pre-border: <<colour flexoki-ui-2>>
primary: <<colour flexoki-cy>>
selection-background:
selection-foreground:
select-tag-background: <<colour flexoki-bg>>
select-tag-foreground: <<color flexoki-black>>
sidebar-button-foreground: <<colour foreground>>
sidebar-controls-foreground-hover: <<colour flexoki-tx>>
sidebar-controls-foreground: <<colour flexoki-tx-3>>
sidebar-foreground-shadow: rgba(255,255,255, 0.8)
sidebar-foreground: <<colour flexoki-300>>
sidebar-muted-foreground-hover: <<colour flexoki-700>>
sidebar-muted-foreground: <<colour flexoki-200>>
sidebar-tab-background-selected: <<colour flexoki-bg-2>>
sidebar-tab-background: <<colour flexoki-ui>>
sidebar-tab-border-selected: <<colour tab-border-selected>>
sidebar-tab-border: <<colour tab-border>>
sidebar-tab-divider: <<colour flexoki-100>>
sidebar-tab-foreground-selected:
sidebar-tab-foreground: <<colour tab-foreground>>
sidebar-tiddler-link-foreground-hover: <<colour flexoki-500>>
sidebar-tiddler-link-foreground: <<colour flexoki-700>>
site-title-foreground: <<colour tiddler-title-foreground>>
stability-stable: <<colour flexoki-green-600>>
stability-experimental: <<colour flexoki-yellow-600>>
stability-deprecated: <<colour flexoki-red-600>>
stability-legacy: <<colour flexoki-blue-600>>
static-alert-foreground: <<colour flexoki-tx-3>>
tab-background-selected: <<colour background>>
tab-background: <<colour flexoki-bg-2>>
tab-border-selected: <<colour flexoki-ui-3>>
tab-border: <<colour flexoki-ui>>
tab-divider: <<colour flexoki-ui-2>>
tab-foreground-selected: <<colour tab-foreground>>
tab-foreground: <<colour flexoki-tx>>
table-border: <<colour flexoki-ui-2>>
table-footer-background: <<colour flexoki-tx-3>>
table-header-background: <<colour flexoki-bg-2>>
tag-background: #AD8301
tag-foreground: #FFFCF0
testcase-accent-level-1: <<colour flexoki-blue-400>>
testcase-accent-level-2: <<colour flexoki-yellow-400>>
testcase-accent-level-3: <<colour flexoki-green-400>>
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
tiddler-controls-foreground-hover: <<colour flexoki-tx-3>>
tiddler-controls-foreground-selected: <<colour flexoki-tx-2>>
tiddler-controls-foreground: <<colour flexoki-ui-3>>
tiddler-editor-background: <<colour flexoki-bg-2>>
tiddler-editor-border-image: #ffffff
tiddler-editor-border: <<colour flexoki-ui-2>>
tiddler-editor-fields-even: <<colour flexoki-ui-3>>
tiddler-editor-fields-odd: <<colour flexoki-ui-2>>
tiddler-info-background: <<colour flexoki-bg-2>>
tiddler-info-border: <<colour flexoki-200>>
tiddler-info-tab-background: <<colour flexoki-bg>>
tiddler-link-background: <<colour background>>
tiddler-link-foreground: <<colour primary>>
tiddler-subtitle-foreground: <<colour flexoki-black>>
tiddler-title-foreground: <<colour flexoki-magenta-600>>
toolbar-new-button:
toolbar-options-button:
toolbar-save-button:
toolbar-info-button:
toolbar-edit-button:
toolbar-close-button:
toolbar-delete-button:
toolbar-cancel-button:
toolbar-done-button:
untagged-background: #999999
very-muted-foreground: #888888
wikilist-background: <<colour flexoki-ui>>
wikilist-item: #fff
wikilist-info: #000
wikilist-title: #666
wikilist-title-svg: <<colour wikilist-title>>
wikilist-url: #aaa
wikilist-button-open: #4fb82b
wikilist-button-open-hover: green
wikilist-button-reveal: #5778d8
wikilist-button-reveal-hover: blue
wikilist-button-remove: #d85778
wikilist-button-remove-hover: red
wikilist-toolbar-background: #d3d3d3
wikilist-toolbar-foreground: #888
wikilist-droplink-dragover: rgba(255,192,192,0.5)
wikilist-button-background: #acacac
wikilist-button-foreground: #000

View File

@@ -4,7 +4,7 @@ tags: $:/tags/RawMarkupWikified
\procedure meta-plain(name,source,name-attribute:"name")
\whitespace trim
<%if [<source>has[text]] %>
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<source>get[text]encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
<%endif%>
\end meta-plain
@@ -13,7 +13,7 @@ tags: $:/tags/RawMarkupWikified
\whitespace trim
<%if [<source>has[text]] %>
<$wikify name="html" text={{{ [<source>get[text]] }}} output="text">
&lt;meta <$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
&lt;meta&#32;<$text text=<<name-attribute>>/>="<$text text=<<name>>/>" content="<$text text={{{ [<html>encodehtml[]] }}}/>"&gt;
<$text text={{{ [charcode[10]] }}}/>
</$wikify>
<%endif%>

View File

@@ -9,14 +9,16 @@ caption: {{$:/language/Search/Filter/Caption}}
tag="$:/tags/AdvancedSearch"
beforeafter="$beforeafter$"
defaultState="$:/core/ui/AdvancedSearch/System"
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"/>
actions="<$action-setfield $tiddler='$:/state/advancedsearch/currentTab' text=<<nextTab>>/>"
/>
\end
\define cancel-search-actions()
\whitespace trim
<$list
filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]"
emptyMessage="<$action-deletetiddler $filter='[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]' />">
<$list filter="[{$:/temp/advancedsearch/input}!match{$:/temp/advancedsearch}]">
<$list-empty>
<$action-deletetiddler $filter="[[$:/temp/advancedsearch]] [[$:/temp/advancedsearch/input]] [[$:/temp/advancedsearch/selected-item]]"/>
</$list-empty>
<$action-setfield $tiddler="$:/temp/advancedsearch/input" text={{$:/temp/advancedsearch}}/>
<$action-setfield $tiddler="$:/temp/advancedsearch/refresh" text="yes"/>
</$list>
@@ -24,54 +26,67 @@ caption: {{$:/language/Search/Filter/Caption}}
\define input-accept-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/></$list>">
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
</$list>
<$/list-empty>
<$action-navigate $to={{{ [<__tiddler__>get[text]] }}}/>
</$list>
\end
\define input-accept-variant-actions()
\whitespace trim
<$list
filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]"
emptyMessage="<$list filter='[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]'><$list filter='[<__tiddler__>get[text]minlength[1]]'><$action-sendmessage $message='tm-edit-tiddler' $param={{{ [<__tiddler__>get[text]] }}}/></$list></$list>">
<$list filter="[{$:/config/Search/NavigateOnEnter/enable}match[yes]]">
<$list-empty>
<$list filter="[<__tiddler__>get[text]!is[missing]] ~[<__tiddler__>get[text]is[shadow]]">
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
</$list>
</$list>
</$list-empty>
<$list filter="[<__tiddler__>get[text]minlength[1]]">
<$action-sendmessage $message="tm-edit-tiddler" $param={{{ [<__tiddler__>get[text]] }}}/>
</$list></$list>
\end
\whitespace trim
<<lingo Filter/Hint>>
<div class="tc-search tc-advanced-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>>>
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>/>
</$keyboard>
</$keyboard>
&#32;
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]"><$transclude/></$list>
</div>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<div class="tc-search-results">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>
</$list>
\end
\whitespace trim
<<lingo Filter/Hint>>
<div class="tc-search tc-advanced-search">
<$keyboard key="((input-tab-right))" actions=<<set-next-input-tab>> class="tc-small-gap-right">
<$keyboard key="((input-tab-left))" actions=<<set-next-input-tab "before">>>
<$macrocall $name="keyboard-driven-input"
tiddler="$:/temp/advancedsearch/input"
storeTitle="$:/temp/advancedsearch"
refreshTitle="$:/temp/advancedsearch/refresh"
selectionStateTitle="$:/temp/advancedsearch/selected-item"
type="search"
tag="input"
focus={{$:/config/Search/AutoFocus}}
configTiddlerFilter="[[$:/temp/advancedsearch]]"
firstSearchFilterField="text"
inputAcceptActions=<<input-accept-actions>>
inputAcceptVariantActions=<<input-accept-variant-actions>>
inputCancelActions=<<cancel-search-actions>>
/>
</$keyboard>
</$keyboard>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch/FilterButton]!has[draft.of]]">
<$transclude/>
</$list>
</div>
</$set>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="" tag="div" class="tc-search-results">
<$set name="resultCount" value="<$count filter={{$:/temp/advancedsearch}}/>">
<p><<lingo Filter/Matches>></p>
<$list filter={{$:/temp/advancedsearch}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
</$list>
</$set>
</$reveal>

View File

@@ -79,11 +79,15 @@ first-search-filter: [all[shadows]search<userInput>sort[title]limit[250]] -[[$:/
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value="<$count filter='[all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]'/>">
<$set name="resultCount" value={{{ [all[shadows]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] +[count[]]}}}>
<div class="tc-search-results">
<<lingo Shadows/Matches>>
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo Shadows/Matches>>
<%endif%>
<$list filter="[all[shadows]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>

View File

@@ -39,6 +39,7 @@ caption: {{$:/language/Search/Standard/Caption}}
</$keyboard>
</$keyboard>
</$keyboard>
&#32;
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<<cancel-search-actions>>
@@ -57,15 +58,15 @@ caption: {{$:/language/Search/Standard/Caption}}
configTiddler={{{ [[$:/state/advancedsearch/standard/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}] }}}
searchListState="$:/temp/advancedsearch/selected-item">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]">
<$list-empty>
<$list filter='[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]'><$transclude mode="block"/></$list>
</$list-empty>
<$macrocall $name="tabs"
tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"
default={{$:/config/SearchResults/Default}}
actions="<$action-setfield $tiddler='$:/state/advancedsearch/standard/currentTab' text=<<currentTab>>/>"
explicitState="$:/state/tab/search-results/advancedsearch" />
</$list>
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]] :else[[]]">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]"><$transclude mode="block"/></$list>
</$list>
</$vars>
</$list>
</$reveal>

View File

@@ -78,11 +78,15 @@ first-search-filter: [is[system]search<userInput>sort[title]limit[250]] -[[$:/te
<$list filter="[{$:/temp/advancedsearch}minlength{$:/config/Search/MinLength}limit[1]]" emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem">
<$set name="resultCount" value="<$count filter='[is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]'/>">
<$set name="resultCount" value={{{ [is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]] +[count[]] }}}>
<div class="tc-search-results">
<<lingo System/Matches>>
<%if [<resultCount>match[0]] %>
{{$:/language/Search/Matches/NoMatch}}
<%else%>
<<lingo System/Matches>>
<%endif%>
<$list filter="[is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]] -[[$:/temp/advancedsearch/input]] -[[$:/temp/advancedsearch/selected-item]]">
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[[$:/temp/advancedsearch/selected-item]get[text]] +[then[]else[tc-list-item-selected]] }}}>

View File

@@ -9,7 +9,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/Title}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}}>
<$list filter={{{ [<configTiddler>get[first-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<span class={{{[<currentTiddler>addsuffix[-primaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>
@@ -19,7 +19,7 @@ second-search-filter: [!is[system]search<userInput>sort[title]limit[250]]
//<small>{{$:/language/Search/Matches/All}}</small>//
<$list filter="[<userInput>minlength[1]]" variable="ignore">
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}}>
<$list filter={{{ [<configTiddler>get[second-search-filter]] }}} emptyMessage={{$:/language/Search/Matches/NoResult}}>
<span class={{{[<currentTiddler>addsuffix[-secondaryList]] -[<searchListState>get[text]] +[then[]else[tc-list-item-selected]] }}}>
<$transclude tiddler="$:/core/ui/ListItemTemplate"/>
</span>

View File

@@ -55,7 +55,7 @@ tags: $:/tags/SideBarSegment
<$macrocall $name="keyboard-driven-input" tiddler=<<editTiddler>> storeTitle=<<searchTiddler>>
selectionStateTitle=<<searchListState>> refreshTitle="$:/temp/search/refresh" type="search"
tag="input" focus={{$:/config/Search/AutoFocus}} focusPopup=<<qualify "$:/state/popup/search-dropdown">>
class="tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
class="tc-tiny-gap-right tc-popup-handle" filterMinLength={{$:/config/Search/MinLength}} inputCancelActions=<<cancel-search-actions>>
inputAcceptActions=<<input-accept-actions>> inputAcceptVariantActions=<<input-accept-variant-actions>> cancelPopups="yes"
configTiddlerFilter="[[$:/state/search/currentTab]!is[missing]get[text]] ~[{$:/config/SearchResults/Default}]"/>
</form>

View File

@@ -13,6 +13,7 @@ title: $:/core/ui/TestCaseTemplate
testActions="Actions"
testHideIfPass=<<hideIfPass>>
>
<$data $filter={{!!import}}/>
<$data $compound-filter={{!!import-compound}}/>
<$data $compound-tiddler=<<currentTiddler>>/>
<%if [{!!description}!is[blank]] %><$data title="Description" text={{!!description}}/><%endif%>

View File

@@ -31,11 +31,11 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
\procedure add-tag-actions()
<$let tag=<<_tf.getTag>> >
<$action-listops $tiddler=<<saveTiddler>> $field=<<tagField>> $subfilter='+[toggle<tag>trim[]]'/>
<% if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
<%if [<tag>] :intersection[<saveTiddler>get<tagField>enlist-input[]] %>
<!-- tag has been removed - do nothing -->
<% else %>
<%else%>
<<actions>>
<% endif %>
<%endif%>
<<delete-tag-state-tiddlers>>
<$action-setfield $tiddler=<<refreshTitle>> text="yes"/>
</$let>
@@ -46,11 +46,11 @@ second-search-filter: [subfilter<tagListFilter>is[system]search:title<userInput>
The second ESC tries to close the "draft tiddler"
-->
\procedure clear-tags-actions-inner()
<% if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>
<%if [<storeTitle>has[text]] ~[<newTagNameTiddler>has[text]] %>
<<delete-tag-state-tiddlers>>
<% else %>
<%else%>
<<cancel-delete-tiddler-actions "cancel">>
<% endif %>
<%endif%>
\end
<!-- triggered by keyboard only -->
@@ -83,6 +83,9 @@ The second ESC tries to close the "draft tiddler"
emptyMessage="<div class='tc-search-results'>{{$:/language/Search/Search/TooShort}}</div>" variable="listItem"
>
<$list filter=<<filter>> variable="tag">
<$list-empty>
<span class="tc-small-gap-left">{{$:/language/EditTemplate/Tags/EmptyMessage}}</span>
</$list-empty>
<!-- The buttonClasses filter is used to define tc-tag-button-selected state -->
<!-- tf.get-tagpicker-focus-selector has to be resolved for $:/core/ui/TagPickerTagTemplate,
othwerwise qualify in tf.tagpicker-dropdown-id causes problems -->
@@ -125,13 +128,13 @@ The second ESC tries to close the "draft tiddler"
>
{{$:/core/images/down-arrow}}
</$button>
<% if [<storeTitle>has[text]] %>
<%if [<storeTitle>has[text]] %>
<$button actions=<<delete-tag-state-tiddlers>> class="tc-btn-invisible tc-small-gap tc-btn-dropdown"
tooltip={{$:/language/EditTemplate/Tags/ClearInput/Hint}} aria-label={{$:/language/EditTemplate/Tags/ClearInput/Caption}}
>
{{$:/core/images/close-button}}
</$button>
<% endif %>
<%endif%>
<span class="tc-add-tag-button tc-small-gap-left">
<$let tag=<<_tf.getTag>>>
<$button set=<<newTagNameTiddler>> actions=<<add-button-actions>> >
@@ -141,13 +144,13 @@ The second ESC tries to close the "draft tiddler"
</span>
</div>
<div class="tc-block-dropdown-wrapper">
<% if [<tf.tagpicker-dropdown-id>has[text]] %>
<%if [<tf.tagpicker-dropdown-id>has[text]] %>
<div class="tc-block-dropdown tc-block-tags-dropdown">
<$macrocall $name="tag-picker-listTags" filter=<<nonSystemTagsFilter>> suffix="-primaryList" />
<hr>
<$macrocall $name="tag-picker-listTags" filter=<<systemTagsFilter>> suffix="-secondaryList" />
</div>
<% endif %>
<%endif%>
</div>
</div>
\end

View File

@@ -9,6 +9,6 @@ type: text/vnd.tiddlywiki
<$link to={{{ [<__version__>addprefix[Release ]] }}} class="doc-from-version">{{$:/core/images/warning}} New in: <$text text=<<__version__>>/></$link>
\end
\define .deprecated-since(version, superseded:"TODO-Link")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated since: <$text text=<<__version__>>/></$link> (see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>)
\define .deprecated-since(version, superseded:"")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Deprecated from v<$text text=<<__version__>>/></$link> <%if [<__superseded__>else[]!match[]] %>(see <$link to=<<__superseded__>>><$text text=<<__superseded__>>/></$link>)<%endif%>
\end

View File

@@ -9,7 +9,7 @@ type: text/vnd.tiddlywiki
\end
\define .deprecated-since(version, superseded:"TODO-Link")
<$button to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Obsolète depuis<<:>> $version$ </$button>. Utilisez [[$superseded$]] à la place
<$button to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">{{$:/core/images/warning}} Obsolète depuis<<:>> $version$ </$button>. <%if [<__superseded__>else[]!match[]] %>Utilisez [[$superseded$]] à la place<%endif%>
\end
<pre><$view field="text"/></pre>

View File

@@ -1,6 +1,6 @@
caption: 5.3.6
created: 20240710120027897
modified: 20240710120027897
created: 20240830144941926
modified: 20240830144941926
tags: ReleaseNotes
title: Release 5.3.6
type: text/vnd.tiddlywiki
@@ -12,20 +12,38 @@ description: Under development
! Translation improvements
<<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8531">> support for new language "Chinese (Hong Kong)"
This release includes improvements to the following translations:
*
* Chinese
! Plugin Improvements
!! Geospatial Plugin
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8404">> support for custom wikitext popups to be attached to map features
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8437">> ordering of latitude and longitude in geospatial operators
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8484">> crash when geomap contains an empty geolayer widget
!! Markdown Plugin
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8395">> strikethrough, superscript and subscript editor toolbar buttons
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8402">> readability of Markdown links to other tiddlers
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8459">> image toolbar dropdown to editor toolbar
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8492">> colour for target footnote background
! TestCaseWidget and Related Improvements
This release includes several fixes and improvements to the TestCaseWidget, its default template, and the related DataWidget and CompoundTiddlers format. These features were first introduced in [[Release 5.3.4]] and are undergoing continuous improvement as we work on integrating them more widely across the system.
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8447">> new `$compound-filter` attribute for the DataWidget that allows other compound tiddlers to be imported. There is also a companion ''import-compound'' field for the TestCaseWidget template
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8514">> the TestCaseWidget default template to make it more modular
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8499">> support for an ''import'' field in the default TestCaseWidget template, allowing additional tiddlers to be imported
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8449">> WikiText formatting buttons when editing CompoundTiddlers
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8450">> CompoundTiddlers type `text/vnd.tiddlywiki-multiple` to the editor type dropdown
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that CompoundTiddlers are saved as .tid files
! Widget Improvements
@@ -37,11 +55,21 @@ This release includes improvements to the following translations:
! Usability Improvements
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8530">> language descriptions by localising them
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8407">> the contrast of plugin stability badges on hover
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8430">> a "copy to clipboard" button to the view template body template used for code tiddlers
* <<.link-badge-added "github.com/TiddlyWiki/TiddlyWiki5/pull/8441">> support for social media cards to be added to TiddlyWiki
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8518">> type attribute to input fields in control panel, allowing virtual keyboards to switch to the proper one when editing settings
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8558">> empty message to tag picker, search dropdown and advanced search
! Hackability Improvements
*
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8431">> support for the HTML entity `&NoBreak;` which can be useful for joining HTML elements without an unwanted linebreak
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8439">> a keyboard shortcut for opening the control panel (by default it is <kbd>ctrl</kbd>-<kbd>alt</kbd>-<kbd>C</kbd>)
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8182">> new [[Hidden Setting: Tag Pill Drag Filter]] that allows configuration of the tiddlers that are transferred when dragging a tag pill
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8384">> tests to ensure that the syntax elements `{% %}` and `{= =}` are reserved for external tooling, and will never be recognised by TiddlyWiki itself
* <<.link-badge-added "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8462">> new cascades for the view template subtitle and tags
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8500">> excision tool implementation to make the excision tiddler title translatable
! Bug Fixes
@@ -49,28 +77,47 @@ This release includes improvements to the following translations:
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8393">> crash when [[WidgetMessage: tm-copy-to-clipboard]] is passed an empty string
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8399">> disengage "select all" when cancelling an import
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8382">> [[transcludes Operator]] and [[backtranscludes Operator]] minor issue with transclusions made via a filtered attribute
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8416">> [[TestCaseWidget]] default template to allow wikitext within the test case narrative
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/discussions/8428">> scroll top position when animation duration is zero
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8476">> importing $:/build tiddler when upgrading to avoid overwriting it
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/d9ac4a823fe0f91c615ed33fa890069f88cc8ab9">> crash with RenderCommand when filename filter returns empty result
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8355">> display of language plugins
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8540">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8546">>) display of non-square plugin icons
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8517">> appearance of input elements other than type `text` and `search`
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/38081b86c97a795420515156fcd52177574be516">> crash with filesystem adaptor if the wiki folder is missing
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8413">> unwrapped oveflowed code blocks not showing scroll bars when setting "Wrap long lines in code blocks" to "No" in "Theme tweaks"
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/7317">> (and <<.link-badge-here "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8552">>) search input box outline in Chrome-like browsers
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/fa423e508ff5012423a1904bb17c9d61848732ee">> interpretation of success codes in Put saver OPTIONS request
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8485">> duplicated search result in advanced search if more than one tiddler is tagged with $:/tags/SearchResults
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/commit/7dfdbae812306875bac2445ca4ee505b406e3be1">> crash with KeyboardWidget in startup actions
! Node.js Improvements
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8409">> filesystem handling so that [[Compound Tiddlers]] are saved as .tid files
* <<.link-badge-fixed "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8339">> server crash when authenticating if newlines are contained in the site title
! Developer Improvements
*
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8423">> the browser checks used in $:/boot/bootprefix.js
* <<.link-badge-extended "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8494">> parse tree format to add `start`/`end` properties to table row and cell elements
* <<.link-badge-improved "https://github.com/TiddlyWiki/TiddlyWiki5/pull/8265">> and simplified plugin library edition usage
! Acknowledgements
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
<<.contributors """
BramChen
btheado
flibbles
hoelzro
kookma
Leilei332
linonetwo
pmario
PotOfCoffee2Go
saqimtiaz
simonbaird
springerspandrel
twMat
valpackett
webplusai
""">>

View File

@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <% if [<something>match[one]] %>Elephant<% endif %>, I think.
This is a <%if [<something>match[one]] %>Elephant<%endif%>, I think.
+
title: Output

View File

@@ -6,23 +6,23 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
\procedure test(animal)
<% if [<animal>match[Elephant]] %>
<%if [<animal>match[Elephant]] %>
! It is an elephant
<% else %>
<%else%>
<% if [<animal>match[Giraffe]] %>
<%if [<animal>match[Giraffe]] %>
! It is a giraffe
<% else %>
<%else%>
! It is completely unknown
<% endif %>
<%endif%>
<% endif %>
<%endif%>
\end

View File

@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <% if [<something>match[one]] %>Elephant<% else %>Crocodile<% endif %>, I think.
This is a <%if [<something>match[one]] %>Elephant<%else%>Crocodile<%endif%>, I think.
+
title: Output

View File

@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <% if [<something>match[one]] %>Elephant<% elseif [<something>match[two]] %>Antelope<% else %>Crocodile<% endif %>, I think.
This is a <%if [<something>match[one]] %>Elephant<%elseif [<something>match[two]] %>Antelope<%else%>Crocodile<%endif%>, I think.
+
title: Output

View File

@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Text
This is a <% if [<something>match[one]] %>Elephant
This is a <%if [<something>match[one]] %>Elephant
+
title: Output

View File

@@ -5,7 +5,7 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
This is a <% if 1 2 3 4 5 6 %>Elephant<% endif %>, I think.
This is a <%if 1 2 3 4 5 6 %>Elephant<%endif%>, I think.
+
title: ExpectedResult

View File

@@ -6,15 +6,15 @@ tags: [[$:/tags/wiki-test-spec]]
title: Output
\procedure test(animal)
<% if [<animal>match[Elephant]] %>
<%if [<animal>match[Elephant]] %>
It is an elephant
<% else %>
<% if [<animal>match[Giraffe]] %>
<%else%>
<%if [<animal>match[Giraffe]] %>
It is a giraffe
<% else %>
<%else%>
It is completely unknown
<% endif %>
<% endif %>
<%endif%>
<%endif%>
\end
<<test "Giraffe">>

View File

@@ -7,20 +7,20 @@ title: Text
\whitespace trim
This is a&#32;
<% if [<something>match[one]] %>
<% if [<another>match[one]] %>
<%if [<something>match[one]] %>
<%if [<another>match[one]] %>
Indian
<% elseif [<another>match[two]] %>
<%elseif [<another>match[two]] %>
African
<% else %>
<%else%>
Unknown
<% endif %>
<%endif%>
&#32;Elephant
<% elseif [<something>match[two]] %>
<%elseif [<something>match[two]] %>
Antelope
<% else %>
<%else%>
Crocodile
<% endif %>
<%endif%>
, I think.
+
title: Output

View File

@@ -15,4 +15,6 @@ In the example above, a comma appears between each occurrence of the `repeated`
Characters in round boxes are literal, i.e. they denote themselves. A name in a rectangular box denotes a further railroad diagram.
The TW [[Filter Syntax]] documentation makes extensive use of railroad diagrams.
The railroad diagrams in ~TiddlyWiki's documentation are generated with the [[Railroad Plugin]].

View File

@@ -1,5 +1,5 @@
created: 20240507221902644
modified: 20240729083054531
modified: 20240808020847667
tags: Concepts
title: TestCaseTiddlers
type: text/vnd.tiddlywiki
@@ -14,8 +14,9 @@ Test case tiddlers have the following ''fields'':
|<<.field type>> |Needs to be set to `text/vnd.tiddlywiki-multiple` |
|<<.field tags>> |Test cases are tagged [[$:/tags/wiki-test-spec]]. Test cases that intentionally fail are tagged [[$:/tags/wiki-test-spec-failing]] |
|<<.field description>> |Descriptive heading for the test, intended to make it easy to identify the test |
|<<.field display-format>> |Optional, defaults to `wikitext`. Set to `plaintext` to cause the output to be rended as plain text |
|<<.field import-compound>> |<<.from-version "5.3.6">> A filter string, that defines a list of compound tiddlers, that should be imported. See: <<.wlink DataWidget>> widget |
|<<.field display-format>> |Optional, defaults to `wikitext`. Set to `plaintext` to cause the output to be rendered as plain text |
|<<.field import>> |<<.from-version "5.3.6">> A filter string that defines a list of tiddlers to import |
|<<.field import-compound>> |<<.from-version "5.3.6">> A filter string that defines a list of compound tiddlers to import. See: <<.wlink DataWidget>> widget |
Test case tiddlers with the appropriate tag are shown in the $:/ControlPanel ''-> Advanced -> Test Cases ''

View File

@@ -15,6 +15,7 @@ I'm the original inventor of TiddlyWiki. You can hire me through [[Intertwingled
Further information:
* A recording of the [[keynote I gave at QCon London in April 2024|https://www.infoq.com/presentations/bbc-micro/]], and the [[discussion on talk.tiddlywiki.org|https://talk.tiddlywiki.org/t/recording-of-jeremys-keynote-at-qcon-london-april-2024/10505]]. The talk mixes some nostalgia about my teenage activities with the BBC Micro with thoughts on the development of the software industry and insights gained from working with TiddlyWiki
* An [[interview with me in The Inquirer|http://www.theinquirer.net/inquirer/feature/2105529/bt-software-engineer-tells-telco-source]] by Wendy Grossman
* A [[hilarious interview with me|https://www.youtube.com/watch?v=auyIhw8MTmQ]] from British television in 1983
* Here's a video of a presentation I did in 2007 called [["How to Start an Open Source Project"|http://vimeo.com/856110]].

View File

@@ -5,8 +5,8 @@ tags: $:/tags/ViewTemplate
title: $:/editions/tw5.com/empty-tag-node-template
type:
<% if [<storyTiddler>!has[text]!has[tags]tagging[]] %>
<%if [<storyTiddler>!has[text]!has[tags]tagging[]] %>
The following tiddlers are tagged with <<tag>>:
<<list-links filter:"[<storyTiddler>!has[text]!has[tags]tagging[]]" class:"multi-columns">>
<% endif %>
<%endif%>

View File

@@ -5,6 +5,12 @@ tags: OfficialPlugins [[Plugin Editions]]
title: Railroad Plugin
type: text/vnd.tiddlywiki
!! Railroad Diagrams
{{Railroad Diagrams}}
!! Plugin
{{$:/plugins/tiddlywiki/railroad/readme}}
{{$:/plugins/tiddlywiki/railroad/syntax}}
Learn more about the [[Railroad Plguin Syntax Description|$:/plugins/tiddlywiki/railroad/syntax]]

View File

@@ -23,13 +23,13 @@ type: text/vnd.tiddlywiki
These new token-based shortcuts allow a richer structure and expressivity than existing features such as widgets or pragmas. For example:
```
<% if [<animal>match[Elephant]] %>
<%if [<animal>match[Elephant]] %>
It is an elephant
<% elseif [<animal>match[Giraffe]] %>
<%elseif [<animal>match[Giraffe]] %>
It is a giraffe
<% else %>
<%else%>
It is completely unknown
<% endif %>
<%endif%>
```
Behind the scenes, the conditional shortcut syntax is rendered as the equivalent [[ListWidgets|ListWidget]].

View File

@@ -119,7 +119,7 @@ type: text/vnd.tiddlywiki
\procedure .infoBox(text:"", title, icon:"$:/core/images/info-button", class, iconSize:"1.4rem")
\function _f.tipClass() [[doc-icon-block]] [<class>!is[blank]then<class>] +[join[ ]]
<div class=<<_f.tipClass>>>
<%if [<title>!is[blank]] %><div>''<<title>>''</div><% endif %>
<%if [<title>!is[blank]] %><div>''<<title>>''</div><%endif%>
<div class="doc-block-icon"><$transclude $tiddler=<<icon>> size=<<iconSize>>/></div>
<<text>>
</div>

View File

@@ -9,18 +9,18 @@ type: text/vnd.tiddlywiki
\whitespace trim
\procedure .op-place()
<% if [<op-name>!is[blank]] %>
<%if [<op-name>!is[blank]] %>
<$macrocall $name=".place" _=<<op-name>> /><span class="tc-tiny-gap">=</span>
<% endif %>
<%endif%>
\end
\procedure .op-row()
<% if [<op-body>!is[blank]] %>
<%if [<op-body>!is[blank]] %>
<tr>
<th align="left"><<op-head>></th>
<td><<.op-place>><<op-body>></td>
</tr>
<% endif %>
<%endif%>
\end
<$list filter="[all[current]tag[Named Filter Run Prefix]]">

View File

@@ -16,9 +16,9 @@ title: $:/editions/tw5.com/operator-macros
<$list filter="[title<.state-prefix>addsuffix{!!title}addsuffix[/]addsuffix<n>]" variable=".state">
<$reveal state=<<.state>> type="nomatch" text="show">
<code><$text text=<<eg>>/></code>
<% if [<ie>!is[blank]] %>
<%if [<ie>!is[blank]] %>
<dd>&rarr;&nbsp;<<ie>></dd>
<% endif %>
<%endif%>
<dl>
<dd><$button actions=<<.operator-example-tryit-actions>>>Try it</$button></dd>
</dl>

View File

@@ -8,17 +8,17 @@ title: $:/editions/tw5.com/operator-template
\whitespace trim
\procedure .op-place()
<% if [<op-name>!is[blank]] %>
<%if [<op-name>!is[blank]] %>
<$macrocall $name=".place" _=<<op-name>> /><span class="tc-tiny-gap">=</span>
<% endif %>
<%endif%>
\end
\procedure .op-row()
<% if [<op-body>!is[blank]] %>
<%if [<op-body>!is[blank]] %>
<tr>
<th align="left"><<op-head>></th><td><<.op-place>><<op-body>></td>
</tr>
<% endif %>
<%endif%>
\end
<$list filter="[all[current]tag[Filter Operators]]">

View File

@@ -19,20 +19,22 @@ type: text/vnd.tiddlywiki
\end
\procedure .from-version(version)
<% if [<version>compare:version:gteq<tf.from-version-reference>] %>
<%if [<version>compare:version:gteq<tf.from-version-reference>] %>
<<.from-version-template "doc-from-version doc-from-version-new" "New in v">>
<% else %>
<%else%>
<<.from-version-template "doc-from-version" "Introduced in v">>
<% endif %>
<%endif%>
\end
\procedure .deprecated-since(version, superseded:"TODO-Link")
\procedure .deprecated-since(version, superseded:"")
<$link to="Deprecated - What does it mean" class="doc-deprecated-version tc-btn-invisible">
{{$:/core/images/warning}}
<span class="tc-tiny-gap">Deprecated since:</span>
<$text text=<<version>>/>
<span class="tc-tiny-gap">Deprecated from </span>
v<$text text=<<version>>/>
</$link>
<span class="tc-tiny-gap-left">
(see <$link class="tc-tiny-gap-left" to=<<superseded>>><$text text=<<superseded>>/></$link>)
</span>
<%if [<superseded>else[]!match[]] %>
<span class="tc-tiny-gap-left">
(see <$link class="tc-tiny-gap-left" to=<<superseded>>><$text text=<<superseded>>/></$link>)
</span>
<%endif%>
\end

View File

@@ -75,7 +75,7 @@ eg="""<$edit-text tiddler=<<currentTiddler>> field="heading" size="25" focus="ye
eg="""\procedure onInput()
<%if [get[temp]match[$:/]] %>
<$action-confirm $message="Yes, this is how system tiddler names begin!"/>
<% endif %>
<%endif%>
\end
Type a new tiddler name, starting with the system prefix `$:/`: <$edit-text inputActions=<<onInput>> field="temp" class="tc-edit-texteditor"/>

View File

@@ -26,7 +26,7 @@ The content of the `<$edit>` widget is ignored.
! Examples
!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with todays date <% endif %>
!! Edit the contents (text field) of a tiddler titled <%if [<now YYYY-0MM-0DD>is[tiddler]] %> <$tiddler tiddler=<<now YYYY-0MM-0DD>> > <$link/></$tiddler> <%else %> with todays date <%endif%>
<$macrocall $name=".example" n="1"
eg="""<$edit tiddler=<<now YYYY-0MM-0DD>> class="tc-edit-texteditor"/>

View File

@@ -11,40 +11,40 @@ Within an "if" or "elseif" clause, the variable `condition` contains the value o
A simple example:
<$macrocall $name='wikitext-example-without-html'
src='<% if [{$:/info/url/protocol}match[file:]] %>
src='<%if [{$:/info/url/protocol}match[file:]] %>
Loaded from a file URI
<% else %>
<%else%>
Not loaded from a file URI
<% endif %>
<%endif%>
'/>
One or more `<% elseif %>` clauses may be included before the `<% else %>` clause:
One or more `<%elseif%>` clauses may be included before the `<%else%>` clause:
<$macrocall $name='wikitext-example-without-html'
src='<% if [{$:/info/url/protocol}match[file:]] %>
src='<%if [{$:/info/url/protocol}match[file:]] %>
Loaded from a file URI
<% elseif [{$:/info/url/protocol}match[https:]] %>
<%elseif [{$:/info/url/protocol}match[https:]] %>
Loaded from an HTTPS URI
<% elseif [{$:/info/url/protocol}match[http:]] %>
<%elseif [{$:/info/url/protocol}match[http:]] %>
Loaded from an HTTP URI
<% else %>
<%else%>
Loaded from an unknown protocol
<% endif %>
<%endif%>
'/>
The conditional shortcut syntax can be nested:
<$macrocall $name='wikitext-example-without-html'
src='\procedure test(animal)
<% if [<animal>match[Elephant]] %>
<%if [<animal>match[Elephant]] %>
It is an elephant
<% else %>
<% if [<animal>match[Giraffe]] %>
<%else%>
<%if [<animal>match[Giraffe]] %>
It is a giraffe
<% else %>
<%else%>
It is completely unknown
<% endif %>
<% endif %>
<%endif%>
<%endif%>
\end
<<test "Giraffe">>
@@ -56,7 +56,7 @@ src='\procedure test(animal)
Notes:
* Clauses are parsed in inline mode by default. Force block mode parsing by following the opening `<% if %>`, `<% elseif %>` or `<% else %>` with two line breaks
* Clauses are parsed in inline mode by default. Force block mode parsing by following the opening `<%if %>`, `<%elseif%>` or `<%else%>` with two line breaks
* Widgets and HTML elements must be within a single conditional clause; it is not possible to start an element in one conditional clause and end it in another
* The conditional shortcut syntax cannot contain pragmas such as procedure definitions

View File

@@ -133,6 +133,7 @@ Excise/Caption/Replace/Link: 链接
Excise/Caption/Replace/Transclusion: 嵌入
Excise/Caption/Tag: 将新条目的标签设为此条目的名称
Excise/Caption/TiddlerExists: 提醒:条目已经存在
Excise/DefaultTitle: 新的剪切
Excise/Hint: 剪切所选文本到一个新条目
Heading1/Caption: 标题 1
Heading1/Hint: 套用标题级别 1 的格式于包含所选文本的列

View File

@@ -199,6 +199,12 @@ Settings/TitleLinks/Caption: 条目标题
Settings/TitleLinks/Hint: 可选地显示条目标题为链接
Settings/TitleLinks/No/Description: 不显示条目标题为链接
Settings/TitleLinks/Yes/Description: 显示条目标题为链接
SocialCard/Caption: 社交媒体卡
SocialCard/Domain/Prompt: 显示链接的网域名称(例如 ''tiddlywiki.com''
SocialCard/Hint: 社交和消息服务使用此信息来显示在线托管时指向此 TiddlyWiki 的链接的预览卡
SocialCard/PreviewUrl/Prompt: 用于预览此 TiddlyWiki 图像的完整网址
SocialCard/PreviewUrl/Preview: 预览图像:
SocialCard/Url/Prompt: 此 TiddlyWiki 的完整网址
StoryTiddler/Caption: 故事条目
StoryTiddler/Hint: 此规则级联用于动态选择模板,以便在故事河中显示条目。
StoryView/Caption: 视图模式

View File

@@ -133,6 +133,7 @@ Excise/Caption/Replace/Link: 鏈接
Excise/Caption/Replace/Transclusion: 嵌入
Excise/Caption/Tag: 將新條目的標籤設為此條目的名稱
Excise/Caption/TiddlerExists: 警示:條目已經存在
Excise/DefaultTitle: 新的剪切
Excise/Hint: 剪切所選文字到一個新條目
Heading1/Caption: 標題 1
Heading1/Hint: 套用標題級別 1 的格式於包含所選文字的列

View File

@@ -199,6 +199,12 @@ Settings/TitleLinks/Caption: 條目標題
Settings/TitleLinks/Hint: 可選地顯示條目標題為鏈接
Settings/TitleLinks/No/Description: 不顯示條目標題為鏈接
Settings/TitleLinks/Yes/Description: 顯示條目標題為鏈接
SocialCard/Caption: 社交媒體卡
SocialCard/Domain/Prompt: 顯示連結的網域名稱(例如 ''tiddlywiki.com''
SocialCard/Hint: 社交和訊息服務使用此資訊來顯示線上託管時指向此 TiddlyWiki 的連結的預覽卡
SocialCard/PreviewUrl/Prompt: 用於預覽此 TiddlyWiki 圖像的完整網址
SocialCard/PreviewUrl/Preview: 預覽圖像:
SocialCard/Url/Prompt: 此 TiddlyWiki 的完整網址
StoryTiddler/Caption: 故事條目
StoryTiddler/Hint: 此規則級聯用於動態選擇範本,以便在故事河中顯示條目。
StoryView/Caption: 檢視模式

View File

@@ -0,0 +1,19 @@
title: $:/plugins/tiddlywiki/geospatial/tests/widgets/geomap-empty-layer
description: Map using geolayer without json and lat/long attributes
import: $:/plugins/tiddlywiki/geospatial
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Narrative
Verify exception reported in [[8452|https://github.com/TiddlyWiki/TiddlyWiki5/issues/8452]] is not thrown when the geolayer widget has no attributes
+
title: Output
<$geomap startPosition="bounds">
<$geolayer/>
</$geomap>
+
title: ExpectedResult
<p><div style="width:100%;height:600px;"></div></p>

View File

@@ -262,10 +262,12 @@ GeomapWidget.prototype.refreshMap = function() {
var bounds = null;
$tw.utils.each(this.renderedLayers,function(layer) {
var featureBounds = layer.layer.getBounds();
if(bounds) {
bounds.extend(featureBounds);
} else {
bounds = featureBounds;
if(featureBounds.isValid()) {
if(bounds) {
bounds.extend(featureBounds);
} else {
bounds = featureBounds;
}
}
});
if(bounds) {

View File

@@ -6,11 +6,11 @@ title: $:/plugins/tiddlywiki/github-fork-ribbon/usage
\end
\procedure ribbonCreateActions()
<% if [[$:/github-ribbon]!is[tiddler]] %>
<%if [[$:/github-ribbon]!is[tiddler]] %>
<$action-setfield $tiddler="$:/github-ribbon" $field="text" $value=<<ribbonCode>>
tags="$:/tags/PageTemplate"
code-body="yes" />
<% endif %>
<%endif%>
<$action-navigate $to="$:/github-ribbon" />
\end
@@ -18,9 +18,9 @@ title: $:/plugins/tiddlywiki/github-fork-ribbon/usage
<$button actions=<<ribbonCreateActions>> >
<%if [[$:/github-ribbon]!is[tiddler]] %>
Create
<% else %>
<%else%>
Show
<% endif %> ~$:/github-ribbon
<%endif%> ~$:/github-ribbon
</$button>
\end

View File

@@ -71,10 +71,20 @@ $else$
{{$:/themes/tiddlywiki/vanilla/reset}}
*, input[type="search"] {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
input[type="search"] {
outline-offset: initial;
}
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
outline: 2px solid <<colour primary>>;
outline-offset: -2px;
border-radius: 0.25em;
}
button:-moz-focusring, input:-moz-focusring, textarea:-moz-focusring, select:-moz-focusring {
outline: 2px solid <<colour primary>>;
outline-offset: -2px;
border-radius: 0.25em;
}
/*
@@ -157,7 +167,7 @@ code {
color: <<colour code-foreground>>;
background-color: <<colour code-background>>;
border: 1px solid <<colour code-border>>;
white-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};
white-space: pre-wrap;
padding: 0 3px 2px;
border-radius: 3px;
font-family: {{$:/themes/tiddlywiki/vanilla/settings/codefontfamily}};
@@ -293,10 +303,13 @@ form.tc-form-inline {
Markdown likes putting code elements inside pre elements
*/
pre > code {
padding: 0;
display: block;
padding: 0.5em;
border: none;
white-space: {{$:/themes/tiddlywiki/vanilla/options/codewrapping}};
background-color: inherit;
color: inherit;
overflow-x: auto;
}
/*
@@ -707,7 +720,7 @@ html body.tc-body .tc-btn-rounded:hover svg {
}
button svg.tc-image-button, button .tc-image-button img {
height: 1em;
height: auto;
width: 1em;
}
@@ -2819,7 +2832,7 @@ a.tc-tiddlylink.tc-plugin-info:hover > .tc-plugin-info-chunk .tc-plugin-info-sta
}
.tc-language-chooser .tc-image-button img {
width: 2em;
width: auto;
vertical-align: -0.15em;
}