1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2026-01-22 19:04:38 +00:00

Compare commits

..

54 Commits

Author SHA1 Message Date
Jermolene
60ab25bf6e Add print tiddler toolbar button 2018-05-16 17:04:25 +01:00
Jermolene
33e636cbe7 Docs: Add popupmechanism link to Button widget docs
Fixes #3284
2018-05-16 16:23:57 +01:00
Mario Pietsch
760c80c655 BibTex plugin: Fix a problem with MIME types under Ubuntu 18.04
Ubuntu 18.04 returns text/x-bibtex for .bib files instead of application/x-bibtex.
2018-05-16 14:20:51 +01:00
twMat
1436196758 Update search.tid (#3279)
minor correction
2018-05-15 15:44:03 +01:00
Jermolene
c252d7c945 BibTeX plugin: fix name of deserializer module 2018-05-15 14:02:27 +01:00
Jermolene
4fd980debe Docs: TiddlySpot and Ruby saver tweaks 2018-05-14 15:01:38 +01:00
Marxsal
38b24906c1 Docs: Saving via a minimal Ruby server (#3277)
* Saving via a minimal Ruby server

* Small grammatical mistake fix.
2018-05-14 14:56:00 +01:00
Jermolene
9e8a0653b0 Preparing for v5.1.18-prerelease 2018-05-12 12:31:10 +01:00
Jermolene
398b715bb8 Version number update for 5.1.17 2018-05-12 11:49:02 +01:00
Jermolene
d54f599269 Readme updates 2018-05-12 11:46:54 +01:00
Jermolene
f355f07ff9 Preparing for release of v5.1.17 2018-05-12 11:46:06 +01:00
Jermolene
6e2b4ebf3e Remove print-tiddler-window button for v5.1.17
We'll reconsider it for v5.1.18
2018-05-12 11:20:43 +01:00
Jermolene
c5511854ab Reinstate TiddlySpot docs
Fixes #3269
2018-05-11 21:11:51 +01:00
Jermolene
577a87a502 Update /dev build instructions 2018-05-10 15:55:36 +01:00
Jermolene
731759e20b Temporarily remove the 5.1.18 release note
So that it doesn't show up on the prerelease
2018-05-10 15:55:25 +01:00
Jermolene
85648590e5 Fix release date of v5.1.16 2018-05-10 15:54:59 +01:00
Jermolene
944010c3bf Release note update 2018-05-10 15:30:46 +01:00
Jermolene
78e734797b Remove extraneous test error
Left over from testing RSOE
2018-05-10 15:30:32 +01:00
Jermolene
98bafd0b69 Tweaks for RSOD adjustments 7468ad7
Better to centre the button
2018-05-10 15:29:31 +01:00
BurningTreeC
4e12c93b90 update german translations (#3267) 2018-05-10 15:03:11 +01:00
Bram Chen
280cc39434 Add chinese translations for new "print tiddler" button (#3266) 2018-05-10 15:02:38 +01:00
Mario Pietsch
7468ad7acf Make rsod less annoying (#2799)
* give js-error form its own CSS rules. error form should not exceed screen size

* fix whitespace
2018-05-10 14:45:50 +01:00
Jermolene
737e9ae4cb Revert multiple suboperator functionality from the "is" operator
See the discussion here: https://github.com/Jermolene/TiddlyWiki5/pull/3240#issuecomment-388035466
2018-05-10 13:15:49 +01:00
Jermolene
e11282cc08 Fix name of print tiddler button 2018-05-10 11:36:57 +01:00
Jermolene
2beae0db2e Tweaks for the new print tiddler toolbar button 2018-05-10 11:35:18 +01:00
Jermolene
523060e823 Add new "print tiddler" button for the view toolbar
It works by opening the tiddler in a new window and then triggering the browser print dialogue.
2018-05-10 11:33:23 +01:00
Jermolene
b95aa6ec6a Fix problem with repeated "new journal" with text set
Fixes problem whereby a repeated "new journal" would replace the text of the existing journal tiddler if the control panel new journal text was set.

Fixes #3028 and #3265
2018-05-10 11:28:07 +01:00
Jermolene
e6466b2c32 Fix problem with extraneous space in new journal titles 2018-05-10 08:52:02 +01:00
Matt Lauber
0ab9ec1ad3 Refactored the is operator for simplicity and efficiency. (#3240)
* Refactored the is operator for simplicity and efficiency.

* Improve `is` filter documentation.

* Update is.js

* extracted `subops.length` to `num_of_subops`
* renamed `subop` to `operator` for clarity/differentiation from `subops`
* refactored to avoid using a `Set` object.

* Update is.js
2018-05-09 18:07:08 +01:00
Daniel Rodríguez Rivero
715cb1d1bc Docs: Update RenderCommand.tid (#3263)
Adds a link that opens the advanced search with a filter to list all the template tiddlers.
2018-05-09 18:05:58 +01:00
Devin Weaver
230c13129a Fix undefined xhr bug (#3262)
Closes #3261

Bug introduced in commit f9be41720 ("Minor tweak for RetrieveETag
(#3257)", 2018-05-05)
2018-05-09 18:04:52 +01:00
Tobias Beer
a2606781b7 Docs: Add "Named vs unnamed parameters" section (#3022)
to clarify the risks of using unnamed parameters, esp. w/ states, see #1252
2018-05-09 18:01:03 +01:00
Daniel Rodríguez Rivero
4c89bbabbe Retain $:/status/UserName when logged out (#2893)
The user name tiddler should not be removed just because we are not logged in
2018-05-09 14:22:55 +01:00
Luca Dorigo
3816819705 Signed the CLA (#3258) 2018-05-08 18:51:55 +01:00
Bram Chen
f9be417204 Minor tweak for RetrieveETag (#3257)
Need to check if the server responses a null value for ETag.
(In the case testing with build-in webdav server of CarotDAV on Windows 10)
2018-05-05 11:40:41 +01:00
Jermolene
d4b4c3c936 New Release Banner for v5.1.17 2018-05-05 10:11:51 +01:00
Jermolene
c64fc164fc Fix mime type for 2c7f467 2018-05-04 17:49:21 +01:00
Jermolene
2c7f467514 Add support for /*\ style metadata comments at the top of CSS files
Just as we already support for JS files
2018-05-04 17:38:30 +01:00
Sebastian Silva
46e8e4343a Fix WebDAV by requesting new ETag. (#3230)
* Fix WebDAV by requesting new ETag conditionally

For me. this was saving only the first time and subsequently failing.
Having revised the requests, I noticed it didn't get a new ETag after saving.
Seems not all WebDAV implementations return a new ETag in PUT requests.

In my WebDAV service (WsgiDAV) - ETag is only served from a HEAD
request.

So if no ETag is found with PUT - we request one with HEAD.

This patch fixes error handling and should also work with servers that
provide ETag directly upon PUT.

* Add tweak from PMario
2018-05-04 11:48:38 +01:00
twMat
38baa70bc6 Update Sharing your tiddlers with others.tid (#3254)
Just a little polishing up.
Ideally the icons should be styled to not be so big.
2018-05-04 10:48:11 +01:00
Bram Chen
36d321746b Update chinese translations for hint of sticky titles option (#3253) 2018-05-04 08:59:50 +01:00
Jermolene
ab5e5795e8 Fix issue with lazy loading temporary tiddlers
Fixes #3235
2018-05-03 18:27:17 +01:00
twMat
8464101430 [doc] Update RangeWidget.tid (#3251)
very minor correction
2018-05-03 17:49:52 +01:00
Jermolene
c569df4bd4 Update hint for sticky titles option
Fixes #3249
2018-05-03 16:14:05 +01:00
Sebastian Silva
215c8bb9ea Update cla-individual.md (#3246) 2018-05-03 14:22:40 +01:00
Jermolene
55453d463a Update release note 2018-05-02 17:09:24 +01:00
Jermolene
b2173d11ea Restore default of preview pane hidden 2018-05-02 16:52:45 +01:00
Jermolene
c95a32abdf Prepare for 5.1.17-prerelease 2018-05-02 16:10:22 +01:00
Jermolene
ac26c8829d Update release note 2018-05-02 16:04:43 +01:00
Jermolene
8feb07e429 Add information about "class" field used by the ViewTemplate 2018-05-02 16:02:24 +01:00
twMat
3aaa7357f6 Update TiddlerFields.tid (#3236)
Add "icon", "list-before" and "list-after"
2018-05-02 16:00:16 +01:00
Sebastian Silva
895447c40c Add write condition for DAT protocol (#3244)
In order to write to a DAT with Beaker Browser, it needs to have access to the file via `dat:` protocol.
2018-05-02 15:57:47 +01:00
BurningTreeC
5626148202 Fix for sidebar not showing #3223 (#3226)
* fix for sidebar not showing

I believe this fixes #3223

* add explaining comment

* ... and fix indentation.
2018-05-02 15:31:26 +01:00
Jermolene
aab408109f Prepare for v5.1.17 2018-05-02 15:28:17 +01:00
46 changed files with 315 additions and 122 deletions

View File

@@ -9,37 +9,50 @@ Basic styles used before we boot up the parsing engine
Error message and password prompt
*/
.tc-password-wrapper, .tc-error-form {
.tc-error-form {
font-family: sans-serif;
color: #fff;
z-index: 20000;
position: fixed;
background-color: rgb(255, 75, 75);
border: 8px solid rgb(255, 0, 0);
border-radius: 8px;
width: 50%;
margin-left: 25%;
margin-top: 4em;
padding: 0 2em 1em 2em;
}
.tc-error-form h1 {
text-align: center;
}
.tc-error-prompt {
text-align: center;
color: #000;
}
.tc-error-message {
overflow: auto;
max-height: 40em;
padding-right: 1em;
margin: 1em 0;
white-space: pre-line;
}
.tc-password-wrapper {
font-family: sans-serif;
z-index: 20000;
position: fixed;
text-align: center;
width: 200px;
top: 4em;
left: 50%;
margin-left: -144px; /* - width/2 - paddingHorz/2 - border */
left: 50%;
margin-left: -144px; /* - width/2 - paddingHorz/2 - border */
padding: 16px 16px 16px 16px;
border-radius: 8px;
}
.tc-error-form {
color: #fff;
text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5);
background-color: rgb(255, 75, 75);
border: 8px solid rgb(255, 0, 0);
width: 480px;
margin-left: -244px; /* - width/2 - paddingHorz/2 - border */
}
.tc-error-form div {
padding-bottom: 1em;
}
.tc-error-prompt {
color: #000;
text-shadow: none;
}
.tc-password-wrapper {
color: #000;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);

View File

@@ -135,8 +135,8 @@ $tw.utils.error = function(err) {
var dm = $tw.utils.domMaker,
heading = dm("h1",{text: errHeading}),
prompt = dm("div",{text: promptMsg, "class": "tc-error-prompt"}),
message = dm("div",{text: err}),
button = dm("button",{text: ( $tw.language == undefined ? "close" : $tw.language.getString("Buttons/Close/Caption") )}),
message = dm("div",{text: err, "class":"tc-error-message"}),
button = dm("div",{children: [dm("button",{text: ( $tw.language == undefined ? "close" : $tw.language.getString("Buttons/Close/Caption") )})], "class": "tc-error-prompt"}),
form = dm("form",{children: [heading,prompt,message,button], "class": "tc-error-form"});
document.body.insertBefore(form,document.body.firstChild);
form.addEventListener("submit",function(event) {
@@ -1281,8 +1281,7 @@ $tw.Wiki.prototype.deserializeTiddlers = function(type,text,srcFields,options) {
/*
Register the built in tiddler deserializer modules
*/
$tw.modules.define("$:/boot/tiddlerdeserializer/js","tiddlerdeserializer",{
"application/javascript": function(text,fields) {
var deserializeHeaderComment = function(text,fields) {
var headerCommentRegExp = new RegExp($tw.config.jsModuleHeaderRegExpString,"mg"),
match = headerCommentRegExp.exec(text);
fields.text = text;
@@ -1290,7 +1289,12 @@ $tw.modules.define("$:/boot/tiddlerdeserializer/js","tiddlerdeserializer",{
fields = $tw.utils.parseFields(match[1].split(/\r?\n\r?\n/mg)[0],fields);
}
return [fields];
}
};
$tw.modules.define("$:/boot/tiddlerdeserializer/js","tiddlerdeserializer",{
"application/javascript": deserializeHeaderComment
});
$tw.modules.define("$:/boot/tiddlerdeserializer/css","tiddlerdeserializer",{
"text/css": deserializeHeaderComment
});
$tw.modules.define("$:/boot/tiddlerdeserializer/tid","tiddlerdeserializer",{
"application/x-tiddler": function(text,fields) {
@@ -1995,6 +1999,7 @@ $tw.boot.startup = function(options) {
$tw.utils.registerFileType("application/vnd.openxmlformats-officedocument.wordprocessingml.document","base64",".docx");
$tw.utils.registerFileType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","base64",".xlsx");
$tw.utils.registerFileType("application/vnd.openxmlformats-officedocument.presentationml.presentation","base64",".pptx");
$tw.utils.registerFileType("text/x-bibtex","utf8",".bib",{deserializerType:"application/x-bibtex"});
$tw.utils.registerFileType("application/x-bibtex","utf8",".bib");
$tw.utils.registerFileType("application/epub+zip","base64",".epub");
// Create the wiki store for the app

View File

@@ -82,6 +82,8 @@ Permaview/Caption: permaview
Permaview/Hint: Set browser address bar to a direct link to all the tiddlers in this story
Print/Caption: print page
Print/Hint: Print the current page
PrintWindow/Caption: print in new window
PrintWindow/Hint: Print tiddler in new window
Refresh/Caption: refresh
Refresh/Hint: Perform a full refresh of the wiki
Save/Caption: ok

View File

@@ -7,7 +7,7 @@ Options/SidebarLayout: Sidebar layout
Options/SidebarLayout/Fixed-Fluid: Fixed story, fluid sidebar
Options/SidebarLayout/Fluid-Fixed: Fluid story, fixed sidebar
Options/StickyTitles: Sticky titles
Options/StickyTitles/Hint: Causes tiddler titles to "stick" to the top of the browser window. Caution: Does not work at all with Chrome, and causes some layout issues in Firefox
Options/StickyTitles/Hint: Causes tiddler titles to "stick" to the top of the browser window
Options/CodeWrapping: Wrap long lines in code blocks
Settings: Settings
Settings/FontFamily: Font family

View File

@@ -26,9 +26,16 @@ function getIsFilterOperators() {
Export our filter function
*/
exports.is = function(source,operator,options) {
if( !operator.operand) {
// Dispatch to the correct isfilteroperator
var isFilterOperators = getIsFilterOperators();
if(operator.operand) {
var isFilterOperator = isFilterOperators[operator.operand];
if(isFilterOperator) {
return isFilterOperator(source,operator.prefix,options);
} else {
return [$tw.language.getString("Error/IsFilterOperator")];
}
} else {
// Return all tiddlers if the operand is missing
var results = [];
source(function(tiddler,title) {
@@ -36,31 +43,6 @@ exports.is = function(source,operator,options) {
});
return results;
}
// Get our isfilteroperators
var isFilterOperators = getIsFilterOperators(),
subops = operator.operand.split("+"),
filteredResults = {},
results = [];
for (var t=0; t<subops.length; t++) {
var subop = isFilterOperators[subops[t]];
if(subop) {
filteredResults[subops[t]] = subop(source,operator.prefix,options);
} else {
return [$tw.language.getString("Error/IsFilterOperator")];
}
}
source(function(tiddler,title) {
for (var t=0; t<subops.length; t++) {
if (filteredResults[subops[t]].indexOf(title) != -1){
results.push(title);
break;
}
}
});
return results;
};
})();
})();

View File

@@ -51,7 +51,7 @@ BeakerSaver.prototype.info = {
Static method that returns true if this saver is capable of working
*/
exports.canSave = function(wiki) {
return !!window.DatArchive;
return !!window.DatArchive && location.protocol==="dat:";
};
/*

View File

@@ -15,6 +15,25 @@ to the current URL, such as a WebDAV server.
/*global $tw: false */
"use strict";
/*
Retrieve ETag if available
*/
var RetrieveETag = function(self) {
var headers = { "Accept": "*/*;charset=UTF-8" };
$tw.utils.httpRequest({
url: self.uri(),
type: "HEAD",
headers: headers,
callback: function(err, data, xhr) {
if(err) return;
var etag = xhr.getResponseHeader("ETag");
if(!etag) return;
self.etag = etag.replace(/^W\//,"");
}
});
};
/*
Select the appropriate saver module and set it up
*/
@@ -34,16 +53,7 @@ var PutSaver = function(wiki) {
}
}
});
// Retrieve ETag if available
$tw.utils.httpRequest({
url: uri,
type: "HEAD",
callback: function(err, data, xhr) {
if(!err) {
self.etag = xhr.getResponseHeader("ETag");
}
}
});
RetrieveETag(this);
};
PutSaver.prototype.uri = function() {
@@ -69,15 +79,20 @@ PutSaver.prototype.save = function(text, method, callback) {
data: text,
callback: function(err, data, xhr) {
if(err) {
callback(err);
} else if(xhr.status === 200 || xhr.status === 201) {
self.etag = xhr.getResponseHeader("ETag");
callback(null); // success
} else if(xhr.status === 412) { // edit conflict
var message = $tw.language.getString("Error/EditConflict");
callback(message);
// response is textual: "XMLHttpRequest error code: 412"
const status = Number(err.substring(err.indexOf(':') + 2, err.length))
if(status === 412) { // edit conflict
var message = $tw.language.getString("Error/EditConflict");
callback(message);
} else {
callback(err); // fail
}
} else {
callback(xhr.responseText); // fail
self.etag = xhr.getResponseHeader("ETag");
if (self.etag == null) {
RetrieveETag(self);
}
callback(null); // success
}
}
});

View File

@@ -29,6 +29,7 @@ exports.startup = function() {
title = event.param || event.tiddlerTitle,
paramObject = event.paramObject || {},
template = paramObject.template || "$:/core/templates/single.tiddler.window",
print = paramObject.print === "yes",
width = paramObject.width || "700",
height = paramObject.height || "600",
variables = $tw.utils.extend({},paramObject,{currentTiddler: title});
@@ -62,6 +63,10 @@ exports.startup = function() {
var parser = $tw.wiki.parseTiddler(template),
widgetNode = $tw.wiki.makeWidget(parser,{document: srcDocument, parentWidget: $tw.rootWidget, variables: variables});
widgetNode.render(srcDocument.body,srcDocument.body.firstChild);
// Print the window if required
if(print) {
srcWindow.print();
}
// Function to handle refreshes
refreshHandler = function(changes) {
if(styleWidgetNode.refresh(changes,styleContainer,null)) {

View File

@@ -178,8 +178,6 @@ Syncer.prototype.getStatus = function(callback) {
self.wiki.addTiddler({title: self.titleIsLoggedIn,text: isLoggedIn ? "yes" : "no"});
if(isLoggedIn) {
self.wiki.addTiddler({title: self.titleUserName,text: username || ""});
} else {
self.wiki.deleteTiddler(self.titleUserName);
}
// Invoke the callback
if(callback) {
@@ -271,13 +269,16 @@ Syncer.prototype.handleLazyLoadEvent = function(title) {
// Don't lazy load the same tiddler twice
var info = this.tiddlerInfo[title];
if(!info || !info.hasBeenLazyLoaded) {
this.createTiddlerInfo(title);
this.tiddlerInfo[title].hasBeenLazyLoaded = true;
// Queue up a sync task to load this tiddler
this.enqueueSyncTask({
type: "load",
title: title
});
// Don't lazy load if the tiddler isn't included in the sync filter
if(this.filterFn.call(this.wiki).indexOf(title) !== -1) {
this.createTiddlerInfo(title);
this.tiddlerInfo[title].hasBeenLazyLoaded = true;
// Queue up a sync task to load this tiddler
this.enqueueSyncTask({
type: "load",
title: title
});
}
}
};

View File

@@ -193,6 +193,7 @@ RevealWidget.prototype.refresh = function(changedTiddlers) {
Called by refresh() to dynamically show or hide the content
*/
RevealWidget.prototype.updateState = function() {
var self = this;
// Read the current state
this.readState();
// Construct the child nodes if needed
@@ -213,8 +214,12 @@ RevealWidget.prototype.updateState = function() {
$tw.anim.perform(this.openAnimation,domNode);
} else {
$tw.anim.perform(this.closeAnimation,domNode,{callback: function() {
domNode.setAttribute("hidden","true");
}});
//make sure that the state hasn't changed during the close animation
self.readState()
if(!self.isOpen) {
domNode.setAttribute("hidden","true");
}
}});
}
};

View File

@@ -1,2 +1,2 @@
title: $:/state/showeditpreview
text: yes
text: no

View File

@@ -5,13 +5,20 @@ description: {{$:/language/Buttons/NewJournal/Hint}}
\define journalButton()
<$button tooltip={{$:/language/Buttons/NewJournal/Hint}} aria-label={{$:/language/Buttons/NewJournal/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-new-tiddler" title=<<now """$(journalTitleTemplate)$ """>> tags=<<journalTags>> text=<<journalText>>/>
<$wikify name="journalTitle" text="""<$macrocall $name="now" format=<<journalTitleTemplate>>/>""">
<$reveal type="nomatch" state=<<journalTitle>> text="">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<journalTags>> text={{{ [<journalTitle>get[]] }}}/>
</$reveal>
<$reveal type="match" state=<<journalTitle>> text="">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<journalTags>> text=<<journalText>>/>
</$reveal>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/new-journal-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/NewJournal/Caption}}/></span>
</$list>
</$wikify>
</$button>
\end
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>

View File

@@ -9,7 +9,8 @@ description: {{$:/language/Buttons/NewJournalHere/Hint}}
\end
\define journalButton()
<$button tooltip={{$:/language/Buttons/NewJournalHere/Hint}} aria-label={{$:/language/Buttons/NewJournalHere/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-new-tiddler" title=<<now """$(journalTitleTemplate)$ """>> tags=<<journalButtonTags>>/>
<$wikify name="journalTitle" text="""<$macrocall $name="now" format=<<journalTitleTemplate>>/>""">
<$action-sendmessage $message="tm-new-tiddler" title=<<journalTitle>> tags=<<journalButtonTags>>/>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/new-journal-button}}
</$list>
@@ -18,6 +19,7 @@ description: {{$:/language/Buttons/NewJournalHere/Hint}}
<$text text={{$:/language/Buttons/NewJournalHere/Caption}}/>
</span>
</$list>
</$wikify>
</$button>
\end
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>

View File

@@ -0,0 +1,18 @@
title: $:/core/ui/Buttons/print-window
tags: $:/tags/ViewToolbar
caption: {{$:/core/images/print-button}} {{$:/language/Buttons/PrintWindow/Caption}}
description: {{$:/language/Buttons/PrintWindow/Hint}}
\whitespace trim
<$button tooltip={{$:/language/Buttons/PrintWindow/Hint}} aria-label={{$:/language/Buttons/PrintWindow/Caption}} class=<<tv-config-toolbar-class>>>
<$action-sendmessage $message="tm-open-window" print="yes"/>
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/print-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text">
<$text text=" "/>
<$text text={{$:/language/Buttons/PrintWindow/Caption}}/>
</span>
</$list>
</$button>

View File

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

View File

@@ -10,6 +10,7 @@ core/ui/Buttons/new-journal-here: hide
core/ui/Buttons/open-window: hide
core/ui/Buttons/permalink: hide
core/ui/Buttons/permaview: hide
core/ui/Buttons/print-window: hide
core/ui/Buttons/delete: hide
core/ui/Buttons/fold: hide
core/ui/Buttons/fold-bar: hide

View File

@@ -1,2 +1,2 @@
title: $:/tags/ViewToolbar
list: [[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]
list: [[$:/core/ui/Buttons/more-tiddler-actions]] [[$:/core/ui/Buttons/info]] [[$:/core/ui/Buttons/new-here]] [[$:/core/ui/Buttons/new-journal-here]] [[$:/core/ui/Buttons/clone]] [[$:/core/ui/Buttons/export-tiddler]] [[$:/core/ui/Buttons/edit]] [[$:/core/ui/Buttons/delete]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/print-window]] [[$:/core/ui/Buttons/open-window]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]] [[$:/core/ui/Buttons/fold-others]] [[$:/core/ui/Buttons/fold]]

View File

@@ -1,5 +1,6 @@
title: Releasing a new version of TiddlyWiki
# Verify the version numbers in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`)
# Move the latest release note from the prerelease edition into the tw5.com edition
# Adjust the release date and the ''released'' field of the latest release tiddler (eg, [[Release 5.1.3]])
# Ensure [[TiddlyWiki Releases]] has the new version as the default tab
@@ -22,5 +23,5 @@ title: Releasing a new version of TiddlyWiki
# Tweet the release with the text "TiddlyWiki v5.x.x released to https://tiddlywiki.com #newtiddlywikirelease"
# Preparation for the next release:
## Adjust version number in [[$:/config/OfficialPluginLibrary]]
## Adjust version number in [[$:/config/OfficialPluginLibrary]] (both in `editions/tw5.com` and `editions/prerelease/tiddlers/system`) and [[$:/config/LocalPluginLibrary]]
## Adjust version number in https://github.com/Jermolene/build.jermolene.github.io in `prerelease-bld.sh`, `bld.sh` and `make-library-bld.sh`

View File

@@ -1,11 +1,11 @@
caption: 5.1.17
created: 20180425155658451
modified: 20180425155658451
caption: 5.1.18
created: 20180512112829164
modified: 20180512112829164
tags: ReleaseNotes
title: Release 5.1.17
title: Release 5.1.18
type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.1.16...v5.1.17]]//
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.1.17...v5.1.18]]//
!! New and Improved Plugins

View File

@@ -1,6 +1,6 @@
title: $:/config/LocalPluginLibrary
tags: $:/tags/PluginLibrary
url: http://127.0.0.1:8080/prerelease/library/v5.1.12/index.html
url: http://127.0.0.1:8080/prerelease/library/v5.1.18/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.1.15/index.html
url: https://tiddlywiki.com/prerelease/library/v5.1.18/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

@@ -6,3 +6,10 @@ title: RenderCommand
type: text/vnd.tiddlywiki
{{$:/language/Help/render}}
<$button class="tc-btn-invisible" style="text-decoration:underline">
Show available rendering templates
<$action-setfield $tiddler="$:/temp/advancedsearch" text="[all[shadows]prefix[$:/core/templates/]]"/>
<$action-setfield $tiddler="$:/state/tab--1498284803" text="$:/core/ui/AdvancedSearch/Filter"/>
<$action-navigate $to="$:/AdvancedSearch"/>
</$button>

View File

@@ -24,12 +24,16 @@ The standard fields are:
Other fields used by the core are:
|!Field Name |!Reference |!Description |
|`class` |ClassField |<<lingo class>> |
|`color` |ColorField |<<lingo color>> |
|`description` |DescriptionField |<<lingo description>> |
|`draft.of` |DraftOfField |<<lingo draft.of>> |
|`draft.title` |DraftTitleField |<<lingo draft.title>> |
|`footer` |FooterField |<<lingo footer>> |
|`icon` |IconField |<<lingo icon>> |
|`library` |LibraryField |<<lingo library>> |
|`list-after` |ListAfterField |<<lingo list-after>> |
|`list-before` |ListBeforeField |<<lingo list-before>> |
|`name` |NameField |<<lingo name>> |
|`plugin-priority` |PluginPriorityField |<<lingo plugin-priority>> |
|`plugin-type` |PluginTypeField |<<lingo plugin-type>> |

View File

@@ -11,11 +11,7 @@ op-parameter-name: C
op-output: those input tiddlers that belong to category <<.place C>>
op-neg-output: those input tiddlers that do <<.em not>> belong to category <<.place C>>
The parameter <<.place C>> specifies zero or more fundamental categories using the following syntax:
<$railroad text="""
[{: ("current" | "missing" |: "orphans" | "shadows" | "tags" | "tiddlers" ) +"+" }]
"""/>
The parameter <<.place C>> is one of the following fundamental categories:
|!Category |!Matches any tiddler that... |
|^`current` |is the [[current tiddler|Current Tiddler]] |
@@ -35,4 +31,4 @@ When <<.op is[missing]>> is the first operator in a [[run|Filter Run]], its outp
The <<.olink all>> operator is similar, but its scope is the whole wiki.
<<.operator-examples "is">>
<<.operator-examples "is">>

View File

@@ -10,7 +10,7 @@ op-suffix: optionally, the name of a [[field|TiddlerFields]]
op-suffix-name: F
op-parameter: one or more search terms, separated by spaces
op-output: those input tiddlers in which <<.em all>> of the search terms can be found in the value of field <<.place F>>
op-neg-output: those input tiddlers in which <<.em not>> all of the search terms can be so found
op-neg-output: those input tiddlers in which <<.em not>> all of the search terms can be found
When used with a suffix, the <<.op search>> operator is similar to <<.olink regexp>> but less powerful.

View File

@@ -1,6 +1,6 @@
created: 20130822170200000
list: [[A Gentle Guide to TiddlyWiki]] [[Discover TiddlyWiki]] [[Some of the things you can do with TiddlyWiki]] [[Ten reasons to switch to TiddlyWiki]] Examples [[What happened to the original TiddlyWiki?]] [[HelloThumbnail - TWEUM2017]]
modified: 20180425155658451
modified: 20180512104329616
tags: TableOfContents
title: HelloThere
type: text/vnd.tiddlywiki

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 93 KiB

View File

@@ -12,6 +12,7 @@ The `tm-open-window` message opens a tiddler in a new //browser// window. If no
|template |Template in which the tiddler will be rendered in |
|width |Width of the new browser window |
|height |Height of the new browser window |
|print |Set to "yes" to trigger opening of the browser print dialogue |
|paramObject |Hashmap of variables that will be provided to the window |

View File

@@ -1,6 +1,7 @@
caption: 5.1.16
created: 20171114142602640
modified: 20180425155658451
released: 20180425155658451
tags: ReleaseNotes
title: Release 5.1.16
type: text/vnd.tiddlywiki

View File

@@ -0,0 +1,49 @@
caption: 5.1.17
created: 20180512104329616
modified: 20180512104329616
released: 20180512104329616
tags: ReleaseNotes
title: Release 5.1.17
type: text/vnd.tiddlywiki
//[[See GitHub for detailed change history of this release|https://github.com/Jermolene/TiddlyWiki5/compare/v5.1.16...v5.1.17]]//
!! Reversions
After encountering significant problems we've reluctantly decided to [[remove support|https://github.com/Jermolene/TiddlyWiki5/commit/737e9ae4cb136ca3f473624f64142bd83e532b9b]] for multiple sub-operators with the [[is Operator]] that was added in v5.1.16.
!! Usability Improvements
* [[Improved|https://github.com/Jermolene/TiddlyWiki5/commit/7468ad7acf1ca2280ad89ee014484928e160f54b]] appearance of ~TiddlyWiki's "red screen of embarrassment"
!! Bug Fixes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/e6466b2c320cdab46a74aa343b6c56c5783e3f94]] problem with extraneous space in new journal titles
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/b95aa6ec6ad51672e9ed26ab94d7fe799698782c]] problem with repeated use of "new journal" with text set
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/f9be417204695d26d5f458fbc53870b2adb9a372]] (and [[here|https://github.com/Jermolene/TiddlyWiki5/commit/46e8e4343acba876b9540b9fc77a5c85faa10939]]) problem with Etag handling
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3240]] problem with [[is Operator]] introduced in 5.1.16
* [[Restored|https://github.com/Jermolene/TiddlyWiki5/commit/b2173d11ea550ba4a5f2fd89b1388b392e37dd51]] default of the preview pane being hidden
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/issues/3245]] incorrect plugin library location
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3226]] animation timing problem with reveal widget that sometimes caused the sidebar not to show when requested
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/pull/3244]] problem with saving with non-Dat URI schemes
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/4c89bbabbe5f5665e92258b560ed7380ae06d9e8]] deletion of `$:/status/UserName` when logged out
!! Node.js Improvements
* [[Stopped|https://github.com/Jermolene/TiddlyWiki5/pull/2893]] clearing [[$:/status/UserName]] when logged out
* [[Fixed|https://github.com/Jermolene/TiddlyWiki5/commit/ab5e5795e88892b5687885c8ead8d6959082399b]] bug with attempting to lazy load tiddlers that do not qualify for syncing
* [[Added|https://github.com/Jermolene/TiddlyWiki5/commit/2c7f467514cb75aefa87912620575deabde1a530]] support for `/*\` style metadata comments at the top of `*.CSS` files
! Contributors
[[@Jermolene|https://github.com/Jermolene]] would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
* [[@BramChen|https://github.com/BramChen]]
* [[@BurningTreeC|https://github.com/BurningTreeC]]
* [[@danielo515|https://github.com/danielo515]]
* [[@icarito|https://github.com/icarito]]
* [[@ldorigo|https://github.com/ldorigo]]
* [[@mklauber|https://github.com/mklauber]]
* [[@sukima|https://github.com/sukima]]
* [[@tobibeer|https://github.com/tobibeer]]
* [[@twMat|https://github.com/twMat]]

View File

@@ -0,0 +1,46 @@
created: 20130825213500000
modified: 20160610082610879
tags: Saving Android Chrome Firefox InternetExplorer iOS Linux Mac Opera PHP Safari Windows
title: Saving on TiddlySpot
type: text/vnd.tiddlywiki
delivery: Service
method: save
caption: TiddlySpot
description: Free online service for hosting TiddlyWiki files
TiddlySpot is a free hosting service for TiddlyWiki documents from Simon and Daniel Baird. The easiest way to get started is to sign up for a new wiki at http://tiddlyspot.com - by default you'll get the latest release of TiddlyWiki Classic.
You can upload an existing TiddlyWiki5 document from your local disc to TiddlySpot by following these steps:
# Sign up for a new wiki at http://tiddlyspot.com/, and remember the wiki name and password
# Open your locally stored TiddlyWiki document in your browser
# Fill in the TiddlySpot wikiname and password in ''Saving'' tab of the ''control panel'' {{$:/core/images/options-button}}
# Click the {{$:/core/images/save-button}} ''save changes'' button. You should get a confirmation notification at the top right saying ''Saved wiki''. Saving can take several seconds if you're on a slow connection or working with a large wiki.
# Navigate to your TiddlySpot URL at http://{wikiname}.tiddlyspot.com/
Note that your password is sent unencrypted when using TiddlySpot. From http://faq.tiddlyspot.com/:
<<<
''Is Tiddlyspot secure?''
No. Tiddlyspot does not use SSL/https. Your password is sent in clear text when uploading and when authenticating to access a private site. This means that your Tiddlyspot is vulnerable to packet sniffing and your password could be discovered by a malicious third party. Also your data is transmitted unencrypted when you view your site, even if it is a private site. For this reason please don't put sensitive information such as banking details in your Tiddlyspot and don't use a password that you use for other high security sites.
<<<
! Problems with saving on TiddlySpot
In case you run into this error when uploading a new or freshly upgraded local TiddlyWiki to TiddlySpot :
<<<
Error while saving:
Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
<<<
The upgrade operation falls foul of a security restriction in Firefox. Until this can be resolved, we suggest using Chrome.
*# Use Chrome to open the local TiddlyWiki document you want to upload to TiddlySpot and follow the steps 1 through 5 described above
*# Once you've checked the TiddlySpot-hosted TiddlyWiki loads properly in Chrome, you should be able to access, edit and [[save using TiddlyFox|Saving with TiddlyFox]] again
* After you've uploaded your local document once, further editing and saving of the online version hosted on TiddlySpot should work with any modern browser of your choice.
** Don't forget to fill in the TiddlySpot wikiname and password in your TiddlySpot TiddlyWiki control panel for any new browser you want to use for saving changes
* //See also : [[Upgrading]]//

View File

@@ -0,0 +1,17 @@
caption: Ruby Server
created: 20180514011710789
delivery: Server-side Script
description: DIY script you can run as a server
method: save
modified: 20180513222628883
tags: Saving Android Chrome Firefox InternetExplorer iOS Linux Mac Opera Safari Windows
title: Saving via a Minimal Ruby Server
type: text/vnd.tiddlywiki
This is a minimal server using Ruby Webrick. It just serves up files from the same folder and handles saving.
Once running, just point your web browser at http://localhost:8000 to view the folder listing, and click on your wiki html file.
See the script at:
https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da

View File

@@ -32,7 +32,7 @@ The content of the `<$button>` widget is displayed within the button.
|setTo |The new value to assign to the TextReference identified in the `set` attribute |
|selectedClass |An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in `set` already has the value specified in `setTo` |
|default |Default value if `set` tiddler is missing for testing against `setTo` to determine `selectedClass` |
|popup |Title of a state tiddler for a popup that is toggled when the button is clicked |
|popup |Title of a state tiddler for a popup that is toggled when the button is clicked. See PopupMechanism for details |
|aria-label |Optional [[Accessibility]] label |
|tooltip |Optional tooltip |
|class |An optional CSS class name to be assigned to the HTML element|

View File

@@ -7,7 +7,7 @@ type: text/vnd.tiddlywiki
! Introduction
The range widget displays an HTML `<input type="range">` that reflects a given tiddler field numeric value. Adjusting the radio button sets to the tiddler field to the value.
The range widget displays an HTML `<input type="range">` that reflects a given tiddler field numeric value. Adjusting the radio button sets the tiddler field to the value.
! Content and Attributes

View File

@@ -20,3 +20,7 @@ The syntax is actually a shorthand for a <<.wlink MacroCallWidget>> widget. The
As macros are simply parameterised [[variables|Variables]], a variable's value can be inserted using the same techniques.
[[Examples|Macro Calls in WikiText (Examples)]]
!! Named vs.unnamed parameters
In the wikitext notation, using named parameters is always the safer choice compared to defining values only. Not naming parameters may have confusing side effects. For example, imagine the first parameter of some macro specifies a [[state tiddler|StateMechanism]] while the second one is intended for a [[template|Transclusion with Templates]] tiddler. Should you accidentally forget to define the first parameter or are confused about the order, the next time your macro is run, which might even be triggered using the preview, your template tiddler may inadvertently be overriden with what was intended to be the state.

View File

@@ -4,13 +4,13 @@ tags: Learning
title: Sharing your tiddlers with others
type: text/vnd.tiddlywiki
There are a number of ways that people can share tiddlers:
There are a number of ways that you can share [[tiddlers|Tiddlers]] or your whole TiddlyWiki:
*You can attach a ~TiddlyWiki to an e-mail
*You can publish your ~TiddlyWiki online, and grab a link to send or message to others:
**A link to the URL of the file itself
**A permalink ({{$:/core/images/permalink-button}}) to a specific tiddler (see [[PermaLinks]])
**A permaview ({{$:/core/images/permaview-button}}) link of all the currently open tiddlers (see [[PermaView]])
*You can grab tiddlers from ~TiddlyWikis that others have published online by clicking on a link to the tiddler within their file, and then dragging and dropping the link into your own file. An import tiddler will appear, and you can click to import the tiddler or tiddlers to your file (see [[Importing Tiddlers]])
*You can publish your ~TiddlyWiki online and grab a link to send or message to others:
**A link to the web address of the whole ~TiddlyWiki file
**A [[permalink|PermaLinks]] ({{$:/core/images/permalink-button}}) to a specific tiddler
**A [[permaview|PermaViews]] ({{$:/core/images/permaview-button}}) link of all the currently open tiddlers
* You can [[share a Dropbox link to your TiddlyWiki|Sharing a TiddlyWiki on Dropbox]]
* You can [[export tiddlers|How to export tiddlers]] ({{$:/core/images/export-button}}) in a variety of formats including text, static HTML, comma separated values (ie spreadsheet compatible)
* You can [[export tiddlers|How to export tiddlers]] ({{$:/core/images/export-button}}) in a variety of formats including text, static HTML and comma separated values (ie spreadsheet compatible)
*You can also share tiddlers merely by making your ~TiddlyWiki accessible to others, for example by publishing it online, so that they can [[import tiddlers|Importing Tiddlers]] from it

View File

@@ -82,6 +82,8 @@ Permaview/Caption: Permaview
Permaview/Hint: Die Adressleiste des Browsers enthält einen Link zu allen offenen Tiddlern in dieser Story
Print/Caption: Seite drucken
Print/Hint: Aktuelle Seite drucken
PrintWindow/Caption: Drucken in neuem Fenster
PrintWindow/Hint: Tiddler zum Drucken in neuem Fenster öffnen
Refresh/Caption: Aktualisieren
Refresh/Hint: Die Seite wird neu in den Browser geladen
Save/Caption: Fertig

View File

@@ -82,6 +82,8 @@ Permaview/Caption: 永久链接
Permaview/Hint: 设置浏览器网址栏为直接链接到当前所有已开启条目
Print/Caption: 打印页面
Print/Hint: 打印当前页面
PrintWindow/Caption: 在新窗口中打印
PrintWindow/Hint: 在新窗口中打印条目
Refresh/Caption: 刷新
Refresh/Hint: 执行维基的完全刷新
Save/Caption: 确定

View File

@@ -7,7 +7,7 @@ Options/SidebarLayout: 侧边栏布局
Options/SidebarLayout/Fixed-Fluid: 固定故事,浮动侧边栏
Options/SidebarLayout/Fluid-Fixed: 浮动故事,固定侧边栏
Options/StickyTitles: 置顶标题
Options/StickyTitles/Hint: 导致条目名称"黏着"于浏览器窗口的顶部。<br>注意︰此功能无法运作于 Chrome且于 Firefox 中会导致一些布局问题
Options/StickyTitles/Hint: 使条目名称"黏着"于浏览器窗口的顶
Options/CodeWrapping: 在代码区块中折行
Settings: 设置
Settings/FontFamily: 字型

View File

@@ -82,6 +82,8 @@ Permaview/Caption: 固定連結
Permaview/Hint: 設定瀏覽器網址列為直接連結到當前所有已開啟條目
Print/Caption: 列印頁面
Print/Hint: 列印當前頁面
PrintWindow/Caption: 在新視窗中列印
PrintWindow/Hint: 在新視窗中列印條目
Refresh/Caption: 重新整理
Refresh/Hint: 執行維基的完全刷新
Save/Caption: 確定

View File

@@ -7,7 +7,7 @@ Options/SidebarLayout: 側邊欄佈局
Options/SidebarLayout/Fixed-Fluid: 固定故事,浮動側邊欄
Options/SidebarLayout/Fluid-Fixed: 浮動故事,固定側邊欄
Options/StickyTitles: 置頂標題
Options/StickyTitles/Hint: 導致條目名稱"黏著"於瀏覽器視窗的頂部。<br>注意︰此功能無法運作於 Chrome且於 Firefox 中會導致一些佈局問題
Options/StickyTitles/Hint: 使條目名稱"黏著"於瀏覽器視窗的頂
Options/CodeWrapping: 在代碼區塊中折行
Settings: 設定
Settings/FontFamily: 字型

View File

@@ -1,7 +1,7 @@
TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
Copyright (c) 2004-2007, Jeremy Ruston
Copyright (c) 2007-2017, UnaMesa Association
Copyright (c) 2007-2018, UnaMesa Association
All rights reserved.
Redistribution and use in source and binary forms, with or without

View File

@@ -321,3 +321,8 @@ Brian McKee, @furicle, 2018/01/08
Diego Mesa, @diego898, 2018/01/11
Mete Balci, @metebalci, 2018/03/19
Sebastian Silva, @icarito, 2018/04/03
Luca Dorigo, @ldorigo, 2018/05/05

View File

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

View File

@@ -1,5 +1,5 @@
/*\
title: $:/plugins/tiddlywiki/excel-utils/deserializer.js
title: $:/plugins/tiddlywiki/bibtex/deserializer.js
type: application/javascript
module-type: tiddlerdeserializer

View File

@@ -1,4 +1,4 @@
<p>Welcome to <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a>, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is a complete interactive wiki in <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/JavaScript.html">JavaScript</a>. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/WikiText.html">WikiText</a>.</p><p>Learn more and see it in action at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/</a></p><p>Developer documentation is in progress at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/dev/</a></p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>either from your favourite package manager: typically <code>apt-get install nodejs</code> on Debian/Ubuntu Linux or <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a>, or <code>brew install node</code> on a Mac</li><li>or directly from <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></li></ul></li><li>Open a command line terminal and type:<blockquote><p><code>npm install -g tiddlywiki</code></p><p>If it fails with an error you may need to re-run the command as an administrator:</p><p><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</p></blockquote></li><li>Check <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is installed by typing:<blockquote><p><code>tiddlywiki --version</code></p></blockquote></li><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg &quot;5.1.15&quot;; you may also see other debugging information reported)</li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --server</code> to start <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></li><li>Visit <a class="tc-tiddlylink-external" href="http://127.0.0.1:8080/" rel="noopener noreferrer" target="_blank">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <svg class="tc-image-save-button tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt">
<p>Welcome to <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a>, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.</p><p><a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is a complete interactive wiki in <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/JavaScript.html">JavaScript</a>. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/WikiText.html">WikiText</a>.</p><p>Learn more and see it in action at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/</a></p><p>Developer documentation is in progress at <a class="tc-tiddlylink-external" href="https://tiddlywiki.com/dev/" rel="noopener noreferrer" target="_blank">https://tiddlywiki.com/dev/</a></p><h1 class="">Installing <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> on Node.js</h1><ol><li>Install <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Node.js.html">Node.js</a><ul><li>either from your favourite package manager: typically <code>apt-get install nodejs</code> on Debian/Ubuntu Linux or <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/Serving%2520TW5%2520from%2520Android.html">Termux for Android</a>, or <code>brew install node</code> on a Mac</li><li>or directly from <a class="tc-tiddlylink-external" href="http://nodejs.org" rel="noopener noreferrer" target="_blank">http://nodejs.org</a></li></ul></li><li>Open a command line terminal and type:<blockquote><p><code>npm install -g tiddlywiki</code></p><p>If it fails with an error you may need to re-run the command as an administrator:</p><p><code>sudo npm install -g tiddlywiki</code> (Mac/Linux)</p></blockquote></li><li>Check <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> is installed by typing:<blockquote><p><code>tiddlywiki --version</code></p></blockquote></li><li>In response, you should see <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a> report its current version (eg &quot;5.1.16&quot;; you may also see other debugging information reported)</li><li>Try it out:<ol><li><code>tiddlywiki mynewwiki --init server</code> to create a folder for a new wiki that includes server-related components</li><li><code>tiddlywiki mynewwiki --server</code> to start <a class="tc-tiddlylink tc-tiddlylink-resolves" href="https://tiddlywiki.com/static/TiddlyWiki.html">TiddlyWiki</a></li><li>Visit <a class="tc-tiddlylink-external" href="http://127.0.0.1:8080/" rel="noopener noreferrer" target="_blank">http://127.0.0.1:8080/</a> in your browser</li><li>Try editing and creating tiddlers</li></ol></li><li>Optionally, make an offline copy:<ul><li>click the <svg class="tc-image-save-button tc-image-button" height="22pt" viewBox="0 0 128 128" width="22pt">
<g fill-rule="evenodd">
<path d="M120.78304,34.329058 C125.424287,43.1924006 128.049406,53.2778608 128.049406,63.9764502 C128.049406,99.3226742 99.3956295,127.97645 64.0494055,127.97645 C28.7031816,127.97645 0.0494055385,99.3226742 0.0494055385,63.9764502 C0.0494055385,28.6302262 28.7031816,-0.0235498012 64.0494055,-0.0235498012 C82.8568763,-0.0235498012 99.769563,8.08898558 111.479045,21.0056358 L114.159581,18.3250998 C117.289194,15.1954866 122.356036,15.1939641 125.480231,18.3181584 C128.598068,21.4359957 128.601317,26.5107804 125.473289,29.6388083 L120.78304,34.329058 Z M108.72451,46.3875877 C110.870571,51.8341374 112.049406,57.767628 112.049406,63.9764502 C112.049406,90.4861182 90.5590735,111.97645 64.0494055,111.97645 C37.5397375,111.97645 16.0494055,90.4861182 16.0494055,63.9764502 C16.0494055,37.4667822 37.5397375,15.9764502 64.0494055,15.9764502 C78.438886,15.9764502 91.3495036,22.308215 100.147097,32.3375836 L58.9411255,73.5435552 L41.975581,56.5780107 C38.8486152,53.4510448 33.7746915,53.4551552 30.6568542,56.5729924 C27.5326599,59.6971868 27.5372202,64.7670668 30.6618725,67.8917192 L53.279253,90.5090997 C54.8435723,92.073419 56.8951519,92.8541315 58.9380216,92.8558261 C60.987971,92.8559239 63.0389578,92.0731398 64.6049211,90.5071765 L108.72451,46.3875877 Z"></path>
</g>