1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-02-16 06:59:50 +00:00

Compare commits

..

20 Commits

Author SHA1 Message Date
Robin Munn
e0f4ef6cff Fix refreshing transcluded functions (#7755)
We store the previous result of the filter function and recalculate it
when the transclude widget needs to be refreshed, refreshing the widget
if the result is different.
2023-09-30 16:36:04 +01:00
Jeremy Ruston
2c406da823 Fix test
It still fails, but now fails correctly
2023-09-11 22:45:29 +01:00
Jeremy Ruston
30a95293e9 Merge branch 'master' into fix-refreshing-transcluding-functions 2023-09-11 21:57:57 +01:00
Jeremy Ruston
217af20fcd Merge branch 'tiddlywiki-com' 2023-09-11 18:56:49 +01:00
TonyM
6d0b4108a4 Update _Timimi_ Extension and executable by Riz.tid (#7726)
* Update _Timimi_ Extension and executable by Riz.tid

Include the line

* The native host requires a component installed on the host computer, outside the browser.

So it is clearer there are two components to be installed and access to the local machine is implied.

* Update _Timimi_ Extension and executable by Riz.tid

Added blank line
2023-09-07 09:36:39 +01:00
Bram Chen
642f8da6ed Update chinese language files (#7725)
* Tweak chinese wording of server command help
2023-09-06 15:21:40 +01:00
Jeremy Ruston
e16635a5ad Tweak wording of server command help
Fixes #7724
2023-09-06 12:33:09 +01:00
TonyM
db79bf2380 Update WidgetMessage_ tm-permalink.tid (#7721)
Addition of note that the permalink message;

"The resulting link will be copied to the clipboard."
2023-09-06 12:27:06 +01:00
TonyM
2b16fa7b5c Update GenesisWidget.tid (#7723)
Add "or HTML element" to the description of "attributes not starting with $".
2023-09-06 12:26:27 +01:00
Mohammad Rahmani
64c9d17181 Update TranscludeWidget.tid correct procedure name (#7717)
The copy pasted `mymacro` from old docs is changed to `myproc`
2023-09-04 16:59:08 +01:00
Buckaroo Banzai
ceee20fd59 Remove tiddler with invalid link and advertising (#7709)
Co-authored-by: BuckarooBanzay <BuckarooBanzay@users.noreply.github.com>
2023-09-01 17:21:21 +01:00
Buckaroo Banzai
0889f13fef Signing the CLA (#7711) 2023-09-01 17:20:53 +01:00
Jeremy Ruston
2fa462e84e Failing test 2023-08-25 14:43:32 +01:00
Jeremy Ruston
73e8225be3 Passing test 2023-08-25 14:43:26 +01:00
Jeremy Ruston
fa9bfa07a0 Fix missing closing tag in tag-pill-inner macro
Fixes #7697
2023-08-25 14:06:17 +01:00
Jeremy Ruston
dbe233fc87 Merge branch 'tiddlywiki-com' 2023-08-20 18:12:38 +01:00
Jeremy Ruston
3965e2c027 Tweak release note 2023-08-20 12:53:59 +01:00
Jeremy Ruston
c22cd3f4c6 Temporary banner image for v5.3.2 2023-08-20 12:51:21 +01:00
Jeremy Ruston
dc282db31b Missing banner credits for v5.3.1 2023-08-20 12:50:08 +01:00
Jeremy Ruston
70309c67d1 Prepare for v5.3.2-prerelease 2023-08-20 11:45:38 +01:00
20 changed files with 87 additions and 37 deletions

View File

@@ -5,7 +5,7 @@
# Default to the current version number for building the plugin library
if [ -z "$TW5_BUILD_VERSION" ]; then
TW5_BUILD_VERSION=v5.3.1
TW5_BUILD_VERSION=v5.3.2
fi
echo "Using TW5_BUILD_VERSION as [$TW5_BUILD_VERSION]"

View File

@@ -1,5 +1,5 @@
title: $:/language/Help/server
description: Provides an HTTP server interface to TiddlyWiki (deprecated in favour of the new listen command)
description: (deprecated: see 'listen' command) Provides an HTTP server interface to TiddlyWiki
Legacy command to serve a wiki over HTTP.

View File

@@ -109,6 +109,7 @@ TranscludeWidget.prototype.collectAttributes = function() {
this.recursionMarker = this.getAttribute("recursionMarker","yes");
} else {
this.transcludeVariable = this.getAttribute("$variable");
this.transcludeVariableIsFunction = false;
this.transcludeType = this.getAttribute("$type");
this.transcludeOutput = this.getAttribute("$output","text/html");
this.transcludeTitle = this.getAttribute("$tiddler",this.getVariable("currentTiddler"));
@@ -184,7 +185,9 @@ TranscludeWidget.prototype.getTransclusionTarget = function() {
if(this.transcludeVariable) {
// Transcluding a variable
var variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});
this.transcludeVariableIsFunction = variableInfo.srcVariable && variableInfo.srcVariable.isFunctionDefinition;
text = variableInfo.text;
this.transcludeFunctionResult = text;
return {
text: variableInfo.text,
type: this.transcludeType
@@ -219,21 +222,24 @@ TranscludeWidget.prototype.parseTransclusionTarget = function(parseAsInline) {
// Transcluding a variable
var variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()}),
srcVariable = variableInfo && variableInfo.srcVariable;
if(srcVariable && srcVariable.isFunctionDefinition) {
this.transcludeVariableIsFunction = true;
this.transcludeFunctionResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || "";
}
if(variableInfo.text) {
if(srcVariable && srcVariable.isFunctionDefinition) {
var result = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || "";
parser = {
tree: [{
type: "text",
text: result
text: this.transcludeFunctionResult
}],
source: result,
source: this.transcludeFunctionResult,
type: "text/vnd.tiddlywiki"
};
if(parseAsInline) {
parser.tree[0] = {
type: "text",
text: result
text: this.transcludeFunctionResult
};
} else {
parser.tree[0] = {
@@ -241,7 +247,7 @@ TranscludeWidget.prototype.parseTransclusionTarget = function(parseAsInline) {
tag: "p",
children: [{
type: "text",
text: result
text: this.transcludeFunctionResult
}]
}
}
@@ -430,12 +436,19 @@ TranscludeWidget.prototype.parserNeedsRefresh = function() {
return (this.sourceText === undefined || parserInfo.sourceText !== this.sourceText || parserInfo.parserType !== this.parserType)
};
TranscludeWidget.prototype.functionNeedsRefresh = function() {
var oldResult = this.transcludeFunctionResult;
var variableInfo = this.getVariableInfo(this.transcludeVariable,{params: this.getOrderedTransclusionParameters()});
var newResult = (variableInfo.resultList ? variableInfo.resultList[0] : variableInfo.text) || "";
return oldResult !== newResult;
}
/*
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
TranscludeWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(($tw.utils.count(changedAttributes) > 0) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {
if(($tw.utils.count(changedAttributes) > 0) || (this.transcludeVariableIsFunction && this.functionNeedsRefresh()) || (!this.transcludeVariable && changedTiddlers[this.transcludeTitle] && this.parserNeedsRefresh())) {
this.refreshSelf();
return true;
} else {

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/library/v5.3.1/index.html
url: https://tiddlywiki.com/library/v5.3.2/index.html
caption: {{$:/language/OfficialPluginLibrary}}
{{$:/language/OfficialPluginLibrary/Hint}}

View File

@@ -10,7 +10,7 @@ color:$(foregroundColor)$;
<!-- This has no whitespace trim to avoid modifying $actions$. Closing tags omitted for brevity. -->
\define tag-pill-inner(tag,icon,colour,fallbackTarget,colourA,colourB,element-tag,element-attributes,actions)
\whitespace trim
<$vars
<$let
foregroundColor=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">>
backgroundColor=<<__colour__>>
>
@@ -23,6 +23,7 @@ color:$(foregroundColor)$;
<$transclude tiddler=<<__icon__>>/>
<$view tiddler=<<__tag__>> field="title" format="text" />
</$element-tag$>
</$let>
\end
\define tag-pill-body(tag,icon,colour,palette,element-tag,element-attributes,actions)

View File

@@ -1,6 +1,6 @@
title: $:/config/LocalPluginLibrary
tags: $:/tags/PluginLibrary
url: http://127.0.0.1:8080/prerelease/library/v5.3.1/index.html
url: http://127.0.0.1:8080/prerelease/library/v5.3.2/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease Local)
A locally installed version of the official ~TiddlyWiki plugin library at tiddlywiki.com for testing and debugging. //Requires a local web server to share the library//

View File

@@ -1,6 +1,6 @@
title: $:/config/OfficialPluginLibrary
tags: $:/tags/PluginLibrary
url: https://tiddlywiki.com/prerelease/library/v5.3.1/index.html
url: https://tiddlywiki.com/prerelease/library/v5.3.2/index.html
caption: {{$:/language/OfficialPluginLibrary}} (Prerelease)
The prerelease version of the official ~TiddlyWiki plugin library at tiddlywiki.com. Plugins, themes and language packs are maintained by the core team.

View File

@@ -0,0 +1,27 @@
title: Transclude/Variable/Refreshing
description: Transcluding and refreshing a function
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
\function list-join(filter, sep:", ") [subfilter<filter>join<sep>]
<$tiddler tiddler="TestData">
<<list-join "[enlist{!!items}]">>
</$tiddler>
+
title: TestData
+
title: Actions
<$action-setfield $tiddler="TestData" items={{{ [range[10]join[ ]] }}}/>
+
title: ExpectedResult
<p>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>

View File

@@ -0,0 +1,15 @@
title: Transclude/Variable/Static
description: Transcluding a function
type: text/vnd.tiddlywiki-multiple
tags: [[$:/tags/wiki-test-spec]]
title: Output
items: 1 2 3 4 5 6 7 8 9 10
\function list-join(filter, sep:", ") [subfilter<filter>join<sep>]
<<list-join "[enlist{!!items}]">>
+
title: ExpectedResult
<p>1, 2, 3, 4, 5, 6, 7, 8, 9, 10</p>

View File

@@ -13,6 +13,8 @@ url: https://ibnishak.github.io/Timimi/
Timimi is a web-extension accompanied by a native host that allows you to save and backup your standalone HTML tiddlywiki files ''anywhere in your hard-drive''. Once installed, you can save the tiddlywiki files without any extra steps, like the original Tiddlyfox addon.
* The native host requires a component installed on the host computer, outside the browser.
{{!!url}}
As of version 2.1, Timimi supports the following browsers
@@ -29,4 +31,4 @@ Timimi also provides users with 4 backup strategies, viz:
* Create a backup Every n^^th^^ save
* Create a backup every n^^th^^ minute
* Customised Tower of Hanoi
* First in First Out
* First in First Out

View File

@@ -1,16 +0,0 @@
created: 20140312085406905
modified: 20140312084543862
tags: Tutorials
title: "Install and run TiddlyWiki on a CentOS 6 VPS using Nginx" from RoseHosting
type: text/vnd.tiddlywiki
url: http://www.rosehosting.com/blog/install-and-run-tiddlywiki-on-a-centoos-6-vps-using-nginx/
A step by step guide to running TiddlyWiki on a ~CentOS Virtual Private Server.
{{!!url}}
<<<
In this tutorial we will guide you through the steps of installing and running TiddlyWiki on a ~CentOS 6 VPS.
We will also install and configure Nginx as a reverse proxy, so you can run TiddlyWiki behind Nginx.
<<<

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -5,7 +5,7 @@ title: WidgetMessage: tm-permalink
type: text/vnd.tiddlywiki
caption: tm-permalink
The `tm-permalink` message changes the browser address bar to form a [[permalink|PermaLinks]] to a specified tiddler, defaulting to the current tiddler.
The `tm-permalink` message changes the browser address bar to form a [[permalink|PermaLinks]] to a specified tiddler, defaulting to the current tiddler. The resulting link will be copied to the clipboard.
The permalink message supports the following properties on the `event` object:

View File

@@ -8,9 +8,15 @@ type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.3.0...v5.3.1]]//
<<.banner-credits
credit:"""Congratulations to [[vilc|https://talk.tiddlywiki.org/u/vilc]] for their winning design for the banner for this release (here is the [[competition thread|https://talk.tiddlywiki.org/t/banner-image-competition-for-v5-3-0/7406/10]]).
"""
url:"https://github.com/Jermolene/TiddlyWiki5/blob/4124bbdfb3e2445d45488006dfff1925d067ab0f/editions/tw5.com/tiddlers/images/New%20Release%20Banner.png?raw=true"
>>
! Overview of v5.3.1
This release comes only a month after [[v5.3.0|Release 5.3.0]]. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP -- the [[demo|WidgetMessage: tm-http-request Example - Random Dog]] downloads a random image or video of a dog.
This release comes only a few weeks after [[v5.3.0|Release 5.3.0]]. The motivation for the release is to swiftly fix some issues that have emerged with v5.3.0. There are also some other improvements included in this release, notably the ability to access binary resources over HTTP -- the [[demo|WidgetMessage: tm-http-request Example - Random Dog]] downloads a random image or video of a dog.
! Bug Fixes and Reversions of v5.3.0 Changes

View File

@@ -20,7 +20,7 @@ The content of the <<.wid genesis>> widget is used as the content of the dynamic
|$mode |An optional override of the parsing mode. May be "inline" or "block" |
|//{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 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 |
|//{attributes not starting with $}// |Any other attributes that do not start with a dollar are applied as attributes to the output widget or HTML Element |
<<.from-version "5.2.6">> If the `$type` attribute is missing or blank, the <<.wlink GenesisWidget>> widget does not render an intrinsic element, instead just rendering its children.

View File

@@ -18,11 +18,11 @@ Transclusion is the underlying mechanism for many higher level wikitext features
Here is a complete example showing the important features of the <<.wlink TranscludeWidget>> widget:
```
\procedure mymacro(name,age)
\procedure myproc(name,age)
My name is <<name>> and my age is <<age>>.
\end
<$transclude $variable="mymacro" name="James" age="19"/>
<$transclude $variable="myproc" name="James" age="19"/>
```
* `\procedure` defines a variable as a procedure with two parameters, ''name'' and ''age''

View File

@@ -1,5 +1,5 @@
title: $:/language/Help/server
description: 提供一个 HTTP 服务器界面到 TiddlyWiki (已弃用,支持新的 listen 命令)
description: (已弃用:请参阅 'listen' 命令)提供一个 HTTP 服务器界面到 TiddlyWiki
在服务器中内置 TiddlyWiki5 是非常简单。虽与 TiddlyWeb 兼容,但不支持许多健全互联网面向的使用方式所需的功能。

View File

@@ -1,5 +1,5 @@
title: $:/language/Help/server
description: 提供一個 HTTP 伺服器介面到 TiddlyWiki (已棄用,支持新的 listen 命令)
description: (已棄用:請參閱 'listen' 命令)提供一個 HTTP 伺服器介面到 TiddlyWiki
在伺服器中內建 TiddlyWiki5 是非常簡單。雖與 TiddlyWeb 相容,但不支援許多健全網際網路面向的使用方式所需的功能。

View File

@@ -547,3 +547,5 @@ Eric Haberstroh, @pille1842, 2023/07/23
@catter-fly, 2023/07/27
@cmo-pomerium, 2023/08/03
BuckarooBanzay, @BuckarooBanzay, 2023/09/01

View File

@@ -1,7 +1,7 @@
{
"name": "tiddlywiki",
"preferGlobal": "true",
"version": "5.3.1",
"version": "5.3.2-prerelease",
"author": "Jeremy Ruston <jeremy@jermolene.com>",
"description": "a non-linear personal web notebook",
"contributors": [