10 changes: 7 additions & 3 deletions core/modules/widgets/button.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,19 @@ ButtonWidget.prototype.render = function(parent,nextSibling) {
// Create element
var domNode = this.document.createElement("button");
// Assign classes
var classes = this["class"].split(" ") || [];
var classes = this["class"].split(" ") || [],
isPoppedUp = this.popup && this.isPoppedUp();
if(this.selectedClass) {
if(this.set && this.setTo && this.isSelected()) {
$tw.utils.pushTop(classes,this.selectedClass.split(" "));
}
if(this.popup && this.isPoppedUp()) {
if(isPoppedUp) {
$tw.utils.pushTop(classes,this.selectedClass.split(" "));
}
}
if(isPoppedUp) {
$tw.utils.pushTop(classes,"tc-popup-handle");
}
domNode.className = classes.join(" ");
// Assign other attributes
if(this.style) {
Expand Down Expand Up @@ -101,7 +105,7 @@ ButtonWidget.prototype.isSelected = function() {

ButtonWidget.prototype.isPoppedUp = function() {
var tiddler = this.wiki.getTiddler(this.popup);
var result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(this.popup,tiddler.fields.text) : false;
var result = tiddler && tiddler.fields.text ? $tw.popup.readPopupState(tiddler.fields.text) : false;
return result;
};

Expand Down
29 changes: 22 additions & 7 deletions core/modules/widgets/dropzone.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,26 @@ DropZoneWidget.prototype.render = function(parent,nextSibling) {
this.domNodes.push(domNode);
};

DropZoneWidget.prototype.handleDragEnterEvent = function(event) {
DropZoneWidget.prototype.enterDrag = function() {
// We count enter/leave events
this.dragEnterCount = (this.dragEnterCount || 0) + 1;
// If we're entering for the first time we need to apply highlighting
if(this.dragEnterCount === 1) {
$tw.utils.addClass(this.domNodes[0],"tc-dragover");
}
};

DropZoneWidget.prototype.leaveDrag = function() {
// Reduce the enter count
this.dragEnterCount = (this.dragEnterCount || 0) - 1;
// Remove highlighting if we're leaving externally
if(this.dragEnterCount <= 0) {
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
}
};

DropZoneWidget.prototype.handleDragEnterEvent = function(event) {
this.enterDrag();
// Tell the browser that we're ready to handle the drop
event.preventDefault();
// Tell the browser not to ripple the drag up to any parent drop handlers
Expand All @@ -76,15 +89,11 @@ DropZoneWidget.prototype.handleDragOverEvent = function(event) {
};

DropZoneWidget.prototype.handleDragLeaveEvent = function(event) {
// Reduce the enter count
this.dragEnterCount = (this.dragEnterCount || 0) - 1;
// Remove highlighting if we're leaving externally
if(this.dragEnterCount <= 0) {
$tw.utils.removeClass(this.domNodes[0],"tc-dragover");
}
this.leaveDrag();
};

DropZoneWidget.prototype.handleDropEvent = function(event) {
this.leaveDrag();
// Check for being over a TEXTAREA or INPUT
if(["TEXTAREA","INPUT"].indexOf(event.target.tagName) !== -1) {
return false;
Expand Down Expand Up @@ -118,6 +127,9 @@ DropZoneWidget.prototype.importData = function(dataTransfer) {
var data = dataTransfer.getData(dataType.type);
// Import the tiddlers in the data
if(data !== "" && data !== null) {
if($tw.log.IMPORT) {
console.log("Importing data type '" + dataType.type + "', data: '" + data + "'")
}
var tiddlerFields = dataType.convertToFields(data);
if(!tiddlerFields.title) {
tiddlerFields.title = this.wiki.generateNewTitle("Untitled");
Expand Down Expand Up @@ -199,6 +211,9 @@ DropZoneWidget.prototype.handlePasteEvent = function(event) {
text: str,
type: type
};
if($tw.log.IMPORT) {
console.log("Importing string '" + str + "', type: '" + type + "'");
}
self.dispatchEvent({type: "tm-import-tiddlers", param: JSON.stringify([tiddlerFields])});
});
}
Expand Down
51 changes: 30 additions & 21 deletions core/modules/widgets/edit-text.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Edit-text widget
/*global $tw: false */
"use strict";

var MIN_TEXT_AREA_HEIGHT = 100; // Minimum height of textareas in pixels
var DEFAULT_MIN_TEXT_AREA_HEIGHT = "100px"; // Minimum height of textareas in pixels

var Widget = require("$:/core/modules/widgets/widget.js").widget;

Expand Down Expand Up @@ -71,6 +71,11 @@ EditTextWidget.prototype.render = function(parent,nextSibling) {
}
// Fix height
this.fixHeight();
// Focus field
if(this.editFocus === "true") {
domNode.focus();
domNode.select();
}
};

/*
Expand Down Expand Up @@ -137,7 +142,10 @@ EditTextWidget.prototype.execute = function() {
this.editClass = this.getAttribute("class");
this.editPlaceholder = this.getAttribute("placeholder");
this.editSize = this.getAttribute("size");
this.editAutoHeight = this.getAttribute("autoHeight","yes") === "yes";
this.editMinHeight = this.getAttribute("minHeight",DEFAULT_MIN_TEXT_AREA_HEIGHT);
this.editFocusPopup = this.getAttribute("focusPopup");
this.editFocus = this.getAttribute("focus");
// Get the editor element tag and type
var tag,type;
if(this.editField === "text") {
Expand All @@ -164,7 +172,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
EditTextWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
// Completely rerender if any of our attributes have changed
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index) {
if(changedAttributes.tiddler || changedAttributes.field || changedAttributes.index || changedAttributes["default"] || changedAttributes["class"] || changedAttributes.placeholder || changedAttributes.size || changedAttributes.autoHeight || changedAttributes.minHeight || changedAttributes.focusPopup) {
this.refreshSelf();
return true;
} else if(changedTiddlers[this.editTitle]) {
Expand Down Expand Up @@ -203,25 +211,26 @@ Fix the height of textareas to fit their content
EditTextWidget.prototype.fixHeight = function() {
var self = this,
domNode = this.domNodes[0];
if(domNode && !domNode.isTiddlyWikiFakeDom && this.editTag === "textarea") {
$tw.utils.nextTick(function() {
// Resize the textarea to fit its content, preserving scroll position
var scrollPosition = $tw.utils.getScrollPosition(),
scrollTop = scrollPosition.y;
// Set its height to auto so that it snaps to the correct height
domNode.style.height = "auto";
// Calculate the revised height
var newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,MIN_TEXT_AREA_HEIGHT);
// Only try to change the height if it has changed
if(newHeight !== domNode.offsetHeight) {
domNode.style.height = newHeight + "px";
// Make sure that the dimensions of the textarea are recalculated
$tw.utils.forceLayout(domNode);
// Check that the scroll position is still visible before trying to scroll back to it
scrollTop = Math.min(scrollTop,self.document.body.scrollHeight - window.innerHeight);
window.scrollTo(scrollPosition.x,scrollTop);
}
});
if(this.editAutoHeight && domNode && !domNode.isTiddlyWikiFakeDom && this.editTag === "textarea") {
// Resize the textarea to fit its content, preserving scroll position
var scrollPosition = $tw.utils.getScrollPosition(),
scrollTop = scrollPosition.y;
// Measure the specified minimum height
domNode.style.height = self.editMinHeight;
var minHeight = domNode.offsetHeight;
// Set its height to auto so that it snaps to the correct height
domNode.style.height = "auto";
// Calculate the revised height
var newHeight = Math.max(domNode.scrollHeight + domNode.offsetHeight - domNode.clientHeight,minHeight);
// Only try to change the height if it has changed
if(newHeight !== domNode.offsetHeight) {
domNode.style.height = newHeight + "px";
// Make sure that the dimensions of the textarea are recalculated
$tw.utils.forceLayout(domNode);
// Check that the scroll position is still visible before trying to scroll back to it
scrollTop = Math.min(scrollTop,self.document.body.scrollHeight - window.innerHeight);
window.scrollTo(scrollPosition.x,scrollTop);
}
}
};

Expand Down
7 changes: 4 additions & 3 deletions core/modules/widgets/link.js
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,16 @@ LinkWidget.prototype.handleDragStartEvent = function(event) {
// Then the data
dataTransfer.clearData();
var jsonData = this.wiki.getTiddlerAsJson(this.to),
textData = this.wiki.getTiddlerText(this.to,"");
textData = this.wiki.getTiddlerText(this.to,""),
title = (new RegExp("^" + $tw.config.textPrimitives.wikiLink + "$","mg")).exec(this.to) ? this.to : "[[" + this.to + "]]";
// IE doesn't like these content types
if(!$tw.browser.isIE) {
dataTransfer.setData("text/vnd.tiddler",jsonData);
dataTransfer.setData("text/plain",this.to);
dataTransfer.setData("text/plain",title);
dataTransfer.setData("text/x-moz-url","data:text/vnd.tiddler," + encodeURI(jsonData));
}
dataTransfer.setData("URL","data:text/vnd.tiddler," + encodeURI(jsonData));
dataTransfer.setData("Text",this.to);
dataTransfer.setData("Text",title);
event.stopPropagation();
} else {
event.preventDefault();
Expand Down
77 changes: 43 additions & 34 deletions core/modules/widgets/navigator.js
Original file line number Diff line number Diff line change
Expand Up @@ -208,19 +208,18 @@ NavigatorWidget.prototype.handleDeleteTiddlerEvent = function(event) {
var title = event.param || event.tiddlerTitle,
tiddler = this.wiki.getTiddler(title),
storyList = this.getStoryList(),
originalTitle, confirmationTitle;
originalTitle = tiddler.fields["draft.of"],
confirmationTitle;
// Check if the tiddler we're deleting is in draft mode
if(tiddler.hasField("draft.title")) {
if(originalTitle) {
// If so, we'll prompt for confirmation referencing the original tiddler
originalTitle = tiddler.fields["draft.of"];
confirmationTitle = originalTitle;
} else {
// If not a draft, then prompt for confirmation referencing the specified tiddler
originalTitle = null;
confirmationTitle = title;
}
// Seek confirmation
if(!confirm($tw.language.getString(
if((this.wiki.getTiddler(originalTitle) || (tiddler.fields.text || "") !== "") && !confirm($tw.language.getString(
"ConfirmDeleteTiddler",
{variables:
{title: confirmationTitle}
Expand Down Expand Up @@ -302,10 +301,7 @@ NavigatorWidget.prototype.handleSaveTiddlerEvent = function(event) {
}
));
}
if(!isRename && !this.wiki.isDraftModified(title)) {
event.type = "tm-cancel-tiddler";
this.dispatchEvent(event);
} else if(isConfirmed) {
if(isConfirmed) {
// Save the draft tiddler as the real tiddler
this.wiki.addTiddler(new $tw.Tiddler(this.wiki.getCreationFields(),tiddler,{
title: draftTitle,
Expand Down Expand Up @@ -338,11 +334,12 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
var draftTitle = event.param || event.tiddlerTitle,
draftTiddler = this.wiki.getTiddler(draftTitle),
originalTitle = draftTiddler.fields["draft.of"],
originalTiddler = this.wiki.getTiddler(originalTitle),
storyList = this.getStoryList();
if(draftTiddler && originalTitle) {
// Ask for confirmation if the tiddler text has changed
var isConfirmed = true;
if(this.wiki.getTiddlerText(draftTitle) !== this.wiki.getTiddlerText(originalTitle)) {
if(this.wiki.isDraftModified(draftTitle)) {
isConfirmed = confirm($tw.language.getString(
"ConfirmCancelTiddler",
{variables:
Expand All @@ -353,9 +350,15 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
// Remove the draft tiddler
if(isConfirmed) {
this.wiki.deleteTiddler(draftTitle);
this.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);
this.addToHistory(originalTitle,event.navigateFromClientRect);
if(originalTiddler) {
this.replaceFirstTitleInStory(storyList,draftTitle,originalTitle);
this.addToHistory(originalTitle,event.navigateFromClientRect);
} else {
this.removeTitleFromStory(storyList,draftTitle);
}
this.saveStoryList(storyList);
// Trigger an autosave
$tw.rootWidget.dispatchEvent({type: "tm-auto-save-wiki"});
}
}
return false;
Expand All @@ -373,23 +376,26 @@ NavigatorWidget.prototype.handleCancelTiddlerEvent = function(event) {
NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
// Get the story details
var storyList = this.getStoryList(),
templateTiddler, title, draftTitle, existingTiddler, mergedTags;
// Work out the title of the target tiddler
if(typeof event.param === "object") {
// If we got a hashmap use it as the template
templateTiddler = event.param;
if(templateTiddler.title) {
// Use the provided title
title = templateTiddler.title
} else {
// Generate a new unique title
title = this.wiki.generateNewTitle($tw.language.getString("DefaultNewTiddlerTitle"));
}
} else {
// If we got a string, use it as the template and generate a new title
templateTiddler, additionalFields, title, draftTitle, existingTiddler;
// Get the template tiddler (if any)
if(typeof event.param === "string") {
// Get the template tiddler
templateTiddler = this.wiki.getTiddler(event.param);
// Generate a new title
title = this.wiki.generateNewTitle(event.param || $tw.language.getString("DefaultNewTiddlerTitle"));
}
// Get the specified additional fields
if(typeof event.paramObject === "object") {
additionalFields = event.paramObject;
}
if(typeof event.param === "object") { // Backwards compatibility with 5.1.3
additionalFields = event.param;
}
if(additionalFields && additionalFields.title) {
title = additionalFields.title;
}
// Generate a title if we don't have one
title = title || this.wiki.generateNewTitle($tw.language.getString("DefaultNewTiddlerTitle"));
// Find any existing draft for this tiddler
draftTitle = this.wiki.findDraft(title);
// Pull in any existing tiddler
Expand All @@ -400,15 +406,17 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
existingTiddler = this.wiki.getTiddler(title);
}
// Merge the tags
if(existingTiddler && existingTiddler.fields.tags && templateTiddler && templateTiddler.tags) {
var mergedTags = [];
if(existingTiddler && existingTiddler.fields.tags) {
$tw.utils.pushTop(mergedTags,existingTiddler.fields.tags)
}
if(additionalFields && additionalFields.tags) {
// Merge tags
mergedTags = $tw.utils.pushTop(mergedTags,$tw.utils.parseStringArray(additionalFields.tags));
}
if(templateTiddler && templateTiddler.fields.tags) {
// Merge tags
mergedTags = $tw.utils.pushTop($tw.utils.parseStringArray(templateTiddler.tags),existingTiddler.fields.tags);
} else if(existingTiddler && existingTiddler.fields.tags) {
mergedTags = existingTiddler.fields.tags;
} else if(templateTiddler && templateTiddler.tags) {
mergedTags = templateTiddler.tags;
} else if(templateTiddler && templateTiddler.fields && templateTiddler.fields.tags) {
mergedTags = templateTiddler.fields.tags;
mergedTags = $tw.utils.pushTop(mergedTags,templateTiddler.fields.tags);
}
// Save the draft tiddler
var draftTiddler = new $tw.Tiddler({
Expand All @@ -417,6 +425,7 @@ NavigatorWidget.prototype.handleNewTiddlerEvent = function(event) {
},
templateTiddler,
existingTiddler,
additionalFields,
this.wiki.getCreationFields(),
{
title: draftTitle,
Expand Down
26 changes: 12 additions & 14 deletions core/modules/widgets/reveal.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,20 +106,18 @@ Read the state tiddler
*/
RevealWidget.prototype.readState = function() {
// Read the information from the state tiddler
if(this.stateTitle) {
var state = this.wiki.getTextReference(this.stateTitle,this["default"],this.getVariable("currentTiddler"));
switch(this.type) {
case "popup":
this.readPopupState(state);
break;
case "match":
this.readMatchState(state);
break;
case "nomatch":
this.readMatchState(state);
this.isOpen = !this.isOpen;
break;
}
var state = this.stateTitle ? this.wiki.getTextReference(this.stateTitle,this["default"],this.getVariable("currentTiddler")) : this["default"];
switch(this.type) {
case "popup":
this.readPopupState(state);
break;
case "match":
this.readMatchState(state);
break;
case "nomatch":
this.readMatchState(state);
this.isOpen = !this.isOpen;
break;
}
};

Expand Down
16 changes: 14 additions & 2 deletions core/modules/widgets/setvariable.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,21 @@ Compute the internal state of the widget
SetWidget.prototype.execute = function() {
// Get our parameters
this.setName = this.getAttribute("name","currentTiddler");
this.setFilter = this.getAttribute("filter");
this.setValue = this.getAttribute("value");
this.setEmptyValue = this.getAttribute("emptyValue");
// Set context variable
this.setVariable(this.setName,this.setValue,this.parseTreeNode.params);
var value = this.setValue;
if(this.setFilter) {
var results = this.wiki.filterTiddlers(this.setFilter,this);
if(!this.setValue) {
value = $tw.utils.stringifyList(results);
}
if(results.length === 0 && this.setEmptyValue !== undefined) {
value = this.setEmptyValue;
}
}
this.setVariable(this.setName,value,this.parseTreeNode.params);
// Construct the child widgets
this.makeChildWidgets();
};
Expand All @@ -51,7 +63,7 @@ Selectively refreshes the widget if needed. Returns true if the widget or any of
*/
SetWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.name || changedAttributes.value) {
if(changedAttributes.name || changedAttributes.filter || changedAttributes.value || changedAttributes.emptyValue) {
this.refreshSelf();
return true;
} else {
Expand Down
38 changes: 28 additions & 10 deletions core/modules/widgets/tiddler.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,35 @@ TiddlerWidget.prototype.render = function(parent,nextSibling) {
Compute the internal state of the widget
*/
TiddlerWidget.prototype.execute = function() {
// Get our parameters
this.tiddlerTitle = this.getAttribute("tiddler",this.getVariable("currentTiddler"));
// Set context variables
this.setVariable("currentTiddler",this.tiddlerTitle);
this.setVariable("missingTiddlerClass",(this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? "tc-tiddler-exists" : "tc-tiddler-missing");
this.setVariable("shadowTiddlerClass",this.wiki.isShadowTiddler(this.tiddlerTitle) ? "tc-tiddler-shadow" : "");
this.setVariable("systemTiddlerClass",this.wiki.isSystemTiddler(this.tiddlerTitle) ? "tc-tiddler-system" : "");
this.setVariable("tiddlerTagClasses",this.getTagClasses());
this.tiddlerState = this.computeTiddlerState();
this.setVariable("currentTiddler",this.tiddlerState.currentTiddler);
this.setVariable("missingTiddlerClass",this.tiddlerState.missingTiddlerClass);
this.setVariable("shadowTiddlerClass",this.tiddlerState.shadowTiddlerClass);
this.setVariable("systemTiddlerClass",this.tiddlerState.systemTiddlerClass);
this.setVariable("tiddlerTagClasses",this.tiddlerState.tiddlerTagClasses);
// Construct the child widgets
this.makeChildWidgets();
};

/*
Compute the tiddler state flags
*/
TiddlerWidget.prototype.computeTiddlerState = function() {
// Get our parameters
this.tiddlerTitle = this.getAttribute("tiddler",this.getVariable("currentTiddler"));
// Compute the state
var state = {
currentTiddler: this.tiddlerTitle || "",
missingTiddlerClass: (this.wiki.tiddlerExists(this.tiddlerTitle) || this.wiki.isShadowTiddler(this.tiddlerTitle)) ? "tc-tiddler-exists" : "tc-tiddler-missing",
shadowTiddlerClass: this.wiki.isShadowTiddler(this.tiddlerTitle) ? "tc-tiddler-shadow" : "",
systemTiddlerClass: this.wiki.isSystemTiddler(this.tiddlerTitle) ? "tc-tiddler-system" : "",
tiddlerTagClasses: this.getTagClasses()
};
// Compute a simple hash to make it easier to detect changes
state.hash = state.currentTiddler + state.missingTiddlerClass + state.shadowTiddlerClass + state.systemTiddlerClass + state.tiddlerTagClasses;
return state;
};

/*
Create a string of CSS classes derived from the tags of the current tiddler
*/
Expand All @@ -69,8 +86,9 @@ TiddlerWidget.prototype.getTagClasses = function() {
Selectively refreshes the widget if needed. Returns true if the widget or any of its children needed re-rendering
*/
TiddlerWidget.prototype.refresh = function(changedTiddlers) {
var changedAttributes = this.computeAttributes();
if(changedAttributes.tiddler) {
var changedAttributes = this.computeAttributes(),
newTiddlerState = this.computeTiddlerState();
if(changedAttributes.tiddler || newTiddlerState.hash !== this.tiddlerState.hash) {
this.refreshSelf();
return true;
} else {
Expand Down
24 changes: 17 additions & 7 deletions core/modules/wiki.js
Original file line number Diff line number Diff line change
Expand Up @@ -844,6 +844,7 @@ exports.parseTextReference = function(title,field,index,options) {
}
return this.parseText("text/vnd.tiddlywiki",text.toString(),options);
} else if(index) {
this.getTiddlerText(title); // Force the tiddler to be lazily loaded
text = this.extractTiddlerDataItem(tiddler,index,undefined);
if(text === undefined) {
return null;
Expand Down Expand Up @@ -968,6 +969,7 @@ Options available:
invert: If true returns tiddlers that do not contain the specified string
caseSensitive: If true forces a case sensitive search
literal: If true, searches for literal string, rather than separate search terms
field: If specified, restricts the search to the specified field
*/
exports.search = function(text,options) {
options = options || {};
Expand Down Expand Up @@ -1006,13 +1008,17 @@ exports.search = function(text,options) {
var contentTypeInfo = $tw.config.contentTypeInfo[tiddler.fields.type] || $tw.config.contentTypeInfo["text/vnd.tiddlywiki"],
match;
for(var t=0; t<searchTermsRegExps.length; t++) {
// Search title, tags and body
match = false;
if(contentTypeInfo.encoding === "utf8") {
match = match || searchTermsRegExps[t].test(tiddler.fields.text);
if(options.field) {
match = searchTermsRegExps[t].test(tiddler.getFieldString(options.field));
} else {
// Search title, tags and body
if(contentTypeInfo.encoding === "utf8") {
match = match || searchTermsRegExps[t].test(tiddler.fields.text);
}
var tags = tiddler.fields.tags ? tiddler.fields.tags.join("\0") : "";
match = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);
}
var tags = tiddler.fields.tags ? tiddler.fields.tags.join("\0") : "";
match = match || searchTermsRegExps[t].test(tags) || searchTermsRegExps[t].test(tiddler.fields.title);
if(!match) {
return false;
}
Expand Down Expand Up @@ -1095,6 +1101,10 @@ exports.readFile = function(file,callback) {
// Figure out if we're reading a binary file
var contentTypeInfo = $tw.config.contentTypeInfo[type],
isBinary = contentTypeInfo ? contentTypeInfo.encoding === "base64" : false;
// Log some debugging information
if($tw.log.IMPORT) {
console.log("Importing file '" + file.name + "', type: '" + type + "', isBinary: " + isBinary);
}
// Create the FileReader
var reader = new FileReader();
// Onload
Expand Down Expand Up @@ -1156,9 +1166,9 @@ exports.isDraftModified = function(title) {
var ignoredFields = ["created", "modified", "title", "draft.title", "draft.of"],
origTiddler = this.getTiddler(tiddler.fields["draft.of"]);
if(!origTiddler) {
return true;
return tiddler.fields.text !== "";
}
return !tiddler.isEqual(origTiddler,ignoredFields);
return tiddler.fields["draft.title"] !== tiddler.fields["draft.of"] || !tiddler.isEqual(origTiddler,ignoredFields);
};

/*
Expand Down
2 changes: 1 addition & 1 deletion core/palettes/Vanilla.tid
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ tab-foreground: #666666
table-border: #dddddd
table-footer-background: #a8a8a8
table-header-background: #f0f0f0
tag-background: #d5ad34
tag-background: #ec6
tag-foreground: #ffffff
tiddler-background: <<colour background>>
tiddler-border: <<colour background>>
Expand Down
3 changes: 0 additions & 3 deletions core/templates/alltiddlers.content.tid

This file was deleted.

31 changes: 3 additions & 28 deletions core/templates/alltiddlers.template.html.tid
Original file line number Diff line number Diff line change
@@ -1,31 +1,6 @@
title: $:/core/templates/alltiddlers.template.html
type: text/vnd.tiddlywiki-html

\define tv-wikilink-template() #$uri_encoded$
\define tv-config-toolbar-icons() no
\define tv-config-toolbar-text() no
\define tv-config-toolbar-class() tc-btn-invisible
\rules only filteredtranscludeinline transcludeinline
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="TiddlyWiki" />
<meta name="tiddlywiki-version" content="{{$:/core/templates/version}}" />
<meta name="format-detection" content="telephone=no">
<link id="faviconLink" rel="shortcut icon" href="favicon.ico">
<title>{{$:/core/wiki/title}}</title>
<div id="styleArea">
{{$:/boot/boot.css||$:/core/templates/css-tiddler}}
</div>
<style type="text/css">
{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}
</style>
</head>
<body class="tc-body">
{{$:/StaticBanner||$:/core/templates/html-tiddler}}
<section class="tc-story-river">
{{$:/core/templates/alltiddlers.content||$:/core/templates/html-tiddler}}
</section>
</body>
</html>
<!-- This template is provided for backwards compatibility with older versions of TiddlyWiki -->

{{$:/core/templates/exporters/StaticRiver}}
9 changes: 9 additions & 0 deletions core/templates/exporters/CsvFile.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: $:/core/templates/exporters/CsvFile
tags: $:/tags/Exporter
description: {{$:/language/Exporters/CsvFile}}
extension: .csv

\define renderContent()
<$text text=<<csvtiddlers filter:"""$(exportFilter)$""" format:"quoted-comma-sep">>/>
\end
<<renderContent>>
9 changes: 9 additions & 0 deletions core/templates/exporters/JsonFile.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: $:/core/templates/exporters/JsonFile
tags: $:/tags/Exporter
description: {{$:/language/Exporters/JsonFile}}
extension: .json

\define renderContent()
<$text text=<<jsontiddlers filter:"""$(exportFilter)$""">>/>
\end
<<renderContent>>
33 changes: 33 additions & 0 deletions core/templates/exporters/StaticRiver.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
title: $:/core/templates/exporters/StaticRiver
tags: $:/tags/Exporter
description: {{$:/language/Exporters/StaticRiver}}
extension: .html

\define tv-wikilink-template() #$uri_encoded$
\define tv-config-toolbar-icons() no
\define tv-config-toolbar-text() no
\define tv-config-toolbar-class() tc-btn-invisible
\rules only filteredtranscludeinline transcludeinline
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="generator" content="TiddlyWiki" />
<meta name="tiddlywiki-version" content="{{$:/core/templates/version}}" />
<meta name="format-detection" content="telephone=no">
<link id="faviconLink" rel="shortcut icon" href="favicon.ico">
<title>{{$:/core/wiki/title}}</title>
<div id="styleArea">
{{$:/boot/boot.css||$:/core/templates/css-tiddler}}
</div>
<style type="text/css">
{{$:/core/ui/PageStylesheet||$:/core/templates/wikified-tiddler}}
</style>
</head>
<body class="tc-body">
{{$:/StaticBanner||$:/core/templates/html-tiddler}}
<section class="tc-story-river">
{{$:/core/templates/exporters/StaticRiver/Content||$:/core/templates/html-tiddler}}
</section>
</body>
</html>
8 changes: 8 additions & 0 deletions core/templates/exporters/StaticRiverContent.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
title: $:/core/templates/exporters/StaticRiver/Content

\define renderContent()
{{{ $(exportFilter)$ ||$:/core/templates/static-tiddler}}}
\end
<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]">
<<renderContent>>
</$importvariables>
9 changes: 9 additions & 0 deletions core/templates/exporters/TidFile.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: $:/core/templates/exporters/TidFile
tags: $:/tags/Exporter
description: {{$:/language/Exporters/TidFile}}
extension: .tid

\define renderContent()
{{{ $(exportFilter)$ +[limit[1]] ||$:/core/templates/tid-tiddler}}}
\end
<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]"><<renderContent>></$importvariables>
14 changes: 13 additions & 1 deletion core/ui/AdvancedSearch/Filter.tid
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,19 @@ caption: {{$:/language/Search/Filter/Caption}}

<<lingo Filter/Hint>>

<div class="tc-search tc-advanced-search"><$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/> <$button popup=<<qualify "$:/state/filterDropdown">> class="tc-btn-invisible">{{$:/core/images/down-arrow}}</$button> <$reveal state="$:/temp/advancedsearch" type="nomatch" text=""> <$link to="" class="tc-btn-invisible">{{$:/core/images/close-button}}</$link></$reveal></div>
<div class="tc-search tc-advanced-search">
<$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/>
<$button popup=<<qualify "$:/state/filterDropdown">> class="tc-btn-invisible">
{{$:/core/images/down-arrow}}
</$button>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
<$macrocall $name="exportButton" exportFilter={{$:/temp/advancedsearch}} lingoBase="$:/language/Buttons/ExportTiddlers/"/>
</$reveal>
</div>

<div class="tc-block-dropdown-wrapper">
<$reveal state=<<qualify "$:/state/filterDropdown">> type="nomatch" text="" default="">
Expand Down
10 changes: 9 additions & 1 deletion core/ui/AdvancedSearch/Shadows.tid
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@ caption: {{$:/language/Search/Shadows/Caption}}

<<lingo Shadows/Hint>>

<div class="tc-search"><$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/><$reveal state="$:/temp/advancedsearch" type="nomatch" text=""> <$link to="" class="tc-btn-invisible">{{$:/core/images/close-button}}</$link></$reveal></div>
<div class="tc-search">
<$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>

</$linkcatcher>

Expand Down
34 changes: 17 additions & 17 deletions core/ui/AdvancedSearch/Standard.tid
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,26 @@ caption: {{$:/language/Search/Standard/Caption}}

<<lingo Standard/Hint>>

<div class="tc-search"><$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/><$reveal state="$:/temp/advancedsearch" type="nomatch" text=""> <$link to="" class="tc-btn-invisible">{{$:/core/images/close-button}}</$link></$reveal></div>
<div class="tc-search">
<$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>

</$linkcatcher>

<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">

<$set name="resultCount" value="""<$count filter="[!is[system]search{$:/temp/advancedsearch}] -[[$:/temp/advancedsearch]]"/>""">

<div class="tc-search-results">

<<lingo Standard/Matches>>

<$list filter="[!is[system]search{$:/temp/advancedsearch}sort[title]limit[250]] -[[$:/temp/advancedsearch]]" template="$:/core/ui/ListItemTemplate"/>

</div>

<$set name="searchTiddler" value="$:/temp/advancedsearch">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]" emptyMessage="""
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]">
<$transclude/>
</$list>
""">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]" default={{$:/config/SearchResults/Default}}/>
</$list>
</$set>

</$reveal>

<$reveal state="$:/temp/advancedsearch" type="match" text="">

</$reveal>
10 changes: 9 additions & 1 deletion core/ui/AdvancedSearch/System.tid
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@ caption: {{$:/language/Search/System/Caption}}

<<lingo System/Hint>>

<div class="tc-search"><$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/><$reveal state="$:/temp/advancedsearch" type="nomatch" text=""> <$link to="" class="tc-btn-invisible">{{$:/core/images/close-button}}</$link></$reveal></div>
<div class="tc-search">
<$edit-text tiddler="$:/temp/advancedsearch" type="search" tag="input"/>
<$reveal state="$:/temp/advancedsearch" type="nomatch" text="">
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $field="text" $value=""/>
{{$:/core/images/close-button}}
</$button>
</$reveal>
</div>

</$linkcatcher>

Expand Down
21 changes: 16 additions & 5 deletions core/ui/ControlPanel/Basics.tid
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ tags: $:/tags/ControlPanel/Info
caption: {{$:/language/ControlPanel/Basics/Caption}}

\define lingo-base() $:/language/ControlPanel/Basics/

\define show-filter-count(filter)
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" $value="""$filter$"""/>
<$action-setfield $tiddler="$:/state/tab--1498284803" $value="$:/core/ui/AdvancedSearch/Filter"/>
<$action-navigate $to="$:/AdvancedSearch"/>
''<$count filter="""$filter$"""/>''
{{$:/core/images/advanced-search-button}}
</$button>
\end

|<<lingo Version/Prompt>> |''<<version>>'' |
|<$link to="$:/SiteTitle"><<lingo Title/Prompt>></$link> |<$edit-text tiddler="$:/SiteTitle" default="" tag="input"/> |
|<$link to="$:/SiteSubtitle"><<lingo Subtitle/Prompt>></$link> |<$edit-text tiddler="$:/SiteSubtitle" default="" tag="input"/> |
Expand All @@ -12,8 +23,8 @@ caption: {{$:/language/ControlPanel/Basics/Caption}}
|<$link to="$:/config/NewJournal/Title"><<lingo NewJournal/Title/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Title" default="" tag="input"/> |
|<$link to="$:/config/NewJournal/Tags"><<lingo NewJournal/Tags/Prompt>></$link> |<$edit-text tiddler="$:/config/NewJournal/Tags" default="" tag="input"/> |
|<<lingo Language/Prompt>> |{{$:/snippets/minilanguageswitcher}} |
|<<lingo Tiddlers/Prompt>> |''<$count filter="[!is[system]]"/>'' |
|<<lingo Tags/Prompt>> |''<$count filter="[tags[]]"/>'' |
|<<lingo SystemTiddlers/Prompt>> |''<$count filter="[is[system]]"/>'' |
|<<lingo ShadowTiddlers/Prompt>> |''<$count filter="[all[shadows]]"/>'' |
|<<lingo OverriddenShadowTiddlers/Prompt>> |''<$count filter="[is[tiddler]is[shadow]]"/>'' |
|<<lingo Tiddlers/Prompt>> |<<show-filter-count "[!is[system]sort[title]]">> |
|<<lingo Tags/Prompt>> |<<show-filter-count "[tags[]sort[title]]">> |
|<<lingo SystemTiddlers/Prompt>> |<<show-filter-count "[is[system]sort[title]]">> |
|<<lingo ShadowTiddlers/Prompt>> |<<show-filter-count "[all[shadows]sort[title]]">> |
|<<lingo OverriddenShadowTiddlers/Prompt>> |<<show-filter-count "[is[tiddler]is[shadow]sort[title]]">> |
11 changes: 0 additions & 11 deletions core/ui/ControlPanel/Tools.tid

This file was deleted.

20 changes: 20 additions & 0 deletions core/ui/DefaultSearchResultList.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
title: $:/core/ui/DefaultSearchResultList
tags: $:/tags/SearchResults
caption: {{$:/language/Search/DefaultResults/Caption}}

\define searchResultList()
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">

{{$:/language/Search/Matches}}

</$set>

//<small>Title matches:</small>//

<$list filter="[!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>

//<small>All matches:</small>//

<$list filter="[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
\end
<<searchResultList>>
22 changes: 15 additions & 7 deletions core/ui/EditTemplate/fields.tid
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
\define config-filter()
[[hide]] -[title{$(config-title)$}]
\end
<$fieldmangler>
<div class="tc-edit-fields">
<table class="tc-edit-fields">
<tbody>
Expand All @@ -21,7 +20,10 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
<$edit-text tiddler=<<currentTiddler>> field=<<currentField>> placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}}/>
</td>
<td class="tc-edit-field-remove">
<$button message="tm-remove-field" param=<<currentField>> class="tc-btn-invisible">{{$:/core/images/delete-button}}</$button>
<$button class="tc-btn-invisible" tooltip={{$:/language/EditTemplate/Field/Remove/Hint}} aria-label={{$:/language/EditTemplate/Field/Remove/Caption}}>
<$action-deletefield $field=<<currentField>>/>
{{$:/core/images/delete-button}}
</$button>
</td>
</tr>
</$list>
Expand All @@ -33,13 +35,19 @@ $:/config/EditTemplateFields/Visibility/$(currentField)$
<div class="tc-edit-field-add">
<em class="tc-edit">
<<lingo Fields/Add/Prompt>>
</em> <span class="tc-edit-field-add-name">
</em>
<span class="tc-edit-field-add-name">
<$edit-text tiddler="$:/temp/newfieldname" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Name/Placeholder}} class="tc-edit-texteditor"/>
</span> <span class="tc-edit-field-add-button">
<$button message="tm-add-field" param={{$:/temp/newfieldname}} set="$:/temp/newfieldname" setTo="" class="">
</span>
<span class="tc-edit-field-add-value">
<$edit-text tiddler="$:/temp/newfieldvalue" tag="input" default="" placeholder={{$:/language/EditTemplate/Fields/Add/Value/Placeholder}} class="tc-edit-texteditor"/>
</span>
<span class="tc-edit-field-add-button">
<$button>
<$action-setfield $field={{$:/temp/newfieldname}} $value={{$:/temp/newfieldvalue}}/>
<$action-deletetiddler $tiddler="$:/temp/newfieldname"/>
<$action-deletetiddler $tiddler="$:/temp/newfieldvalue"/>
<<lingo Fields/Add/Button>>
</$button>
</span>
</div>

</$fieldmangler>
4 changes: 2 additions & 2 deletions core/ui/EditTemplate/tags.tid
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ background-color:$(backgroundColor)$;

<div class="tc-edit-add-tag">
<span class="tc-add-tag-name">
<$edit-text tiddler="$:/temp/NewTagName" tag="input" default="" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor"/>
</span> <$button popup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-btn-invisible tc-btn-dropdown">{{$:/core/images/down-arrow}}</$button> <span class="tc-add-tag-button">
<$edit-text tiddler="$:/temp/NewTagName" tag="input" default="" placeholder={{$:/language/EditTemplate/Tags/Add/Placeholder}} focusPopup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-edit-texteditor tc-popup-handle"/>
</span> <$button popup=<<qualify "$:/state/popup/tags-auto-complete">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Tags/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Tags/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <span class="tc-add-tag-button">
<$button message="tm-add-tag" param={{$:/temp/NewTagName}} set="$:/temp/NewTagName" setTo="" class="">
<<lingo Tags/Add/Button>>
</$button>
Expand Down
2 changes: 1 addition & 1 deletion core/ui/EditTemplate/title.tid
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
title: $:/core/ui/EditTemplate/title
tags: $:/tags/EditTemplate

<$edit-text field="draft.title" class="tc-titlebar tc-edit-texteditor"/>
<$edit-text field="draft.title" class="tc-titlebar tc-edit-texteditor" focus="true"/>
2 changes: 1 addition & 1 deletion core/ui/EditTemplate/type.tid
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ tags: $:/tags/EditTemplate

\define lingo-base() $:/language/EditTemplate/
<div class="tc-type-selector"><$fieldmangler>
<em class="tc-edit"><<lingo Type/Prompt>></em> <$edit-text field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor"/> <$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown">{{$:/core/images/down-arrow}}</$button> <$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon">{{$:/core/images/delete-button}}</$button>
<em class="tc-edit"><<lingo Type/Prompt>></em> <$edit-text field="type" tag="input" default="" placeholder={{$:/language/EditTemplate/Type/Placeholder}} focusPopup=<<qualify "$:/state/popup/type-dropdown">> class="tc-edit-typeeditor tc-popup-handle"/> <$button popup=<<qualify "$:/state/popup/type-dropdown">> class="tc-btn-invisible tc-btn-dropdown" tooltip={{$:/language/EditTemplate/Type/Dropdown/Hint}} aria-label={{$:/language/EditTemplate/Type/Dropdown/Caption}}>{{$:/core/images/down-arrow}}</$button> <$button message="tm-remove-field" param="type" class="tc-btn-invisible tc-btn-icon" tooltip={{$:/language/EditTemplate/Type/Delete/Hint}} aria-label={{$:/language/EditTemplate/Type/Delete/Caption}}>{{$:/core/images/delete-button}}</$button>
</$fieldmangler></div>

<div class="tc-block-dropdown-wrapper">
Expand Down
2 changes: 1 addition & 1 deletion core/ui/EditToolbar/cancel.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Cancel/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Cancel/Caption}}/></span>
</$list>
</$button>
</$button>
5 changes: 5 additions & 0 deletions core/ui/Filters/RecentSystemTiddlers.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
title: $:/core/Filters/RecentSystemTiddlers
tags: $:/tags/Filter
filter: [has[modified]!sort[modified]limit[50]]
description: {{$:/language/Filters/RecentSystemTiddlers}}

2 changes: 1 addition & 1 deletion core/ui/Filters/RecentTiddlers.tid
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
title: $:/core/Filters/RecentTiddlers
tags: $:/tags/Filter
filter: [!is[system]has[modified]!sort[modified]]
filter: [!is[system]has[modified]!sort[modified]limit[50]]
description: {{$:/language/Filters/RecentTiddlers}}

13 changes: 13 additions & 0 deletions core/ui/PageControls.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: $:/core/ui/PageTemplate/pagecontrols

\define config-title()
$:/config/PageControlButtons/Visibility/$(listItem)$
\end
<div class="tc-page-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">
<$reveal type="nomatch" state=<<config-title>> text="hide">
<$transclude tiddler=<<listItem>> mode="inline"/>
</$reveal>
</$list>
</div>

2 changes: 1 addition & 1 deletion core/ui/PageControls/advanced-search.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/AdvancedSearch/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/AdvancedSearch/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/closeall.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/CloseAll/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/CloseAll/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/controlpanel.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/ControlPanel/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/ControlPanel/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/encryption.tid
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,4 @@ description: {{$:/language/Buttons/Encryption/Hint}}
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Encryption/SetPassword/Caption}}/></span>
</$list>
</$button>
</$reveal>
</$reveal>
6 changes: 6 additions & 0 deletions core/ui/PageControls/export-page.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
title: $:/core/ui/Buttons/export-page
tags: $:/tags/PageControls
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportPage/Caption}}
description: {{$:/language/Buttons/ExportPage/Hint}}

<$macrocall $name="exportButton" exportFilter="[!is[system]sort[title]]" lingoBase="$:/language/Buttons/ExportPage/"/>
2 changes: 1 addition & 1 deletion core/ui/PageControls/full-screen.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/FullScreen/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/FullScreen/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/home.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Home/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Home/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/import.tid
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ description: {{$:/language/Buttons/Import/Hint}}
</$list>
</$button>
<$browse/>
</div>
</div>
6 changes: 4 additions & 2 deletions core/ui/PageControls/language.tid
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ description: {{$:/language/Buttons/Language/Hint}}
\define flag-title()
$(languagePluginTitle)$/icon
\end
<span class="tc-popup-keep">
<$button popup=<<qualify "$:/state/popup/language">> tooltip={{$:/language/Buttons/Language/Hint}} aria-label={{$:/language/Buttons/Language/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
<span class="tc-image-button">
Expand All @@ -18,8 +19,9 @@ $(languagePluginTitle)$/icon
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Language/Caption}}/></span>
</$list>
</$button>
</span>
<$reveal state=<<qualify "$:/state/popup/language">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<div class="tc-drop-down tc-drop-down-language-chooser">
<$linkcatcher to="$:/language">
<$list filter="[[$:/languages/en-GB]] [plugin-type[language]sort[title]]">
<$link>
Expand Down Expand Up @@ -49,4 +51,4 @@ $(languagePluginTitle)$/icon
</$list>
</$linkcatcher>
</div>
</$reveal>
</$reveal>
3 changes: 1 addition & 2 deletions core/ui/PageControls/more-page-actions.tid
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,4 @@ $:/config/PageControlButtons/Visibility/$(listItem)$

</div>

</$reveal>

</$reveal>
2 changes: 1 addition & 1 deletion core/ui/PageControls/new-journal.tid
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ description: {{$:/language/Buttons/NewJournal/Hint}}
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
<$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
<<journalButton>>
</$set></$set>
</$set></$set>
2 changes: 1 addition & 1 deletion core/ui/PageControls/newtiddler.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/NewTiddler/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/NewTiddler/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/PageControls/refresh.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Refresh/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Refresh/Caption}}/></span>
</$list>
</$button>
</$button>
4 changes: 3 additions & 1 deletion core/ui/PageControls/storyview.tid
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ description: {{$:/language/Buttons/StoryView/Hint}}
\define icon()
$:/core/images/storyview-$(storyview)$
\end
<span class="tc-popup-keep">
<$button popup=<<qualify "$:/state/popup/storyview">> tooltip={{$:/language/Buttons/StoryView/Hint}} aria-label={{$:/language/Buttons/StoryView/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
<$set name="storyview" value={{$:/view}}>
Expand All @@ -16,6 +17,7 @@ $:/core/images/storyview-$(storyview)$
<span class="tc-btn-text"><$text text={{$:/language/Buttons/StoryView/Caption}}/></span>
</$list>
</$button>
</span>
<$reveal state=<<qualify "$:/state/popup/storyview">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<$linkcatcher to="$:/view">
Expand All @@ -34,4 +36,4 @@ $:/core/images/storyview-$(storyview)$
</$list>
</$linkcatcher>
</div>
</$reveal>
</$reveal>
2 changes: 1 addition & 1 deletion core/ui/PageControls/tag-button.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/TagManager/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/TagManager/Caption}}/></span>
</$list>
</$button>
</$button>
4 changes: 3 additions & 1 deletion core/ui/PageControls/theme.tid
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ tags: $:/tags/PageControls
caption: {{$:/core/images/theme-button}} {{$:/language/Buttons/Theme/Caption}}
description: {{$:/language/Buttons/Theme/Hint}}

<span class="tc-popup-keep">
<$button popup=<<qualify "$:/state/popup/theme">> tooltip={{$:/language/Buttons/Theme/Hint}} aria-label={{$:/language/Buttons/Theme/Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/theme-button}}
Expand All @@ -11,6 +12,7 @@ description: {{$:/language/Buttons/Theme/Hint}}
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Theme/Caption}}/></span>
</$list>
</$button>
</span>
<$reveal state=<<qualify "$:/state/popup/theme">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<$linkcatcher to="$:/theme">
Expand All @@ -29,4 +31,4 @@ description: {{$:/language/Buttons/Theme/Hint}}
</$list>
</$linkcatcher>
</div>
</$reveal>
</$reveal>
11 changes: 1 addition & 10 deletions core/ui/PageTemplate/sidebar.tid
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
title: $:/core/ui/PageTemplate/sidebar
tags: $:/tags/PageTemplate

\define config-title()
$:/config/PageControlButtons/Visibility/$(listItem)$
\end
<$scrollable fallthrough="no" class="tc-sidebar-scrollable">

<div class="tc-sidebar-header">
Expand All @@ -22,13 +19,7 @@ $:/config/PageControlButtons/Visibility/$(listItem)$

</div>

<div class="tc-page-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">
<$reveal type="nomatch" state=<<config-title>> text="hide">
<$transclude tiddler=<<listItem>> mode="inline"/>
</$reveal>
</$list>
</div>
{{||$:/core/ui/PageTemplate/pagecontrols}}

<$transclude tiddler="$:/core/ui/SideBarLists" mode="inline"/>

Expand Down
13 changes: 13 additions & 0 deletions core/ui/SearchResults.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
title: $:/core/ui/SearchResults

<div class="tc-search-results">

<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]butfirst[]limit[1]]" emptyMessage="""
<$list filter="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]">
<$transclude mode="block"/>
</$list>
""">
<$macrocall $name="tabs" tabsList="[all[shadows+tiddlers]tag[$:/tags/SearchResults]!has[draft.of]]" default={{$:/config/SearchResults/Default}}/>
</$list>

</div>
4 changes: 4 additions & 0 deletions core/ui/SideBar/Tools.tid
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ $:/config/PageControlButtons/Visibility/$(listItem)$

<$list filter="[all[shadows+tiddlers]tag[$:/tags/PageControls]!has[draft.of]]" variable="listItem">

<div style="position:relative;">

<$checkbox tiddler=<<config-title>> field="text" checked="show" unchecked="hide" default="show"/> <$transclude tiddler=<<listItem>>/> <i class="tc-muted"><$transclude tiddler=<<listItem>> field="description"/></i>

</div>

</$list>

</$set>
Expand Down
30 changes: 16 additions & 14 deletions core/ui/SideBarLists.tid
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,30 @@ title: $:/core/ui/SideBarLists
<div class="tc-search">
<$edit-text tiddler="$:/temp/search" type="search" tag="input"/>
<$reveal state="$:/temp/search" type="nomatch" text="">
<$linkcatcher to="$:/temp/search">
<$link to="" class="tc-btn-invisible">{{$:/core/images/close-button}}</$link>
</$linkcatcher>
<$button tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/advancedsearch" text={{$:/temp/search}}/>
<$action-setfield $tiddler="$:/temp/search" text=""/>
<$action-navigate $to="$:/AdvancedSearch"/>
{{$:/core/images/advanced-search-button}}
</$button>
<$button class="tc-btn-invisible">
<$action-setfield $tiddler="$:/temp/search" text="" />
{{$:/core/images/close-button}}
</$button>
</$reveal>
<$reveal state="$:/temp/search" type="match" text="">&nbsp;<$link to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">&hellip;</$link>
<$reveal state="$:/temp/search" type="match" text="">
<$button to="$:/AdvancedSearch" tooltip={{$:/language/Buttons/AdvancedSearch/Hint}} aria-label={{$:/language/Buttons/AdvancedSearch/Caption}} class="tc-btn-invisible">
{{$:/core/images/advanced-search-button}}
</$button>
</$reveal>
</div>

<$reveal state="$:/temp/search" type="nomatch" text="">

<div class="tc-search-results">

<$set name="resultCount" value="""<$count filter="[!is[system]search{$:/temp/search}]"/>""">

{{$:/language/Search/Matches}}

<$set name="searchTiddler" value="$:/temp/search">
{{$:/core/ui/SearchResults}}
</$set>

<$list filter="[!is[system]search{$:/temp/search}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>

</div>

</$reveal>

<$reveal state="$:/temp/search" type="match" text="">
Expand Down
46 changes: 41 additions & 5 deletions core/ui/TagManager.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ title: $:/TagManager
\end
\define iconEditor(title)
<div class="tc-drop-down-wrapper">
<$edit-text field="icon" tag="input" size="20"/> <$button popup=<<qualify "$:/state/popup/icon/$title$">> class="tc-btn-invisible tc-btn-dropdown">{{$:/core/images/down-arrow}}</$button>
<$button popup=<<qualify "$:/state/popup/icon/$title$">> class="tc-btn-invisible tc-btn-dropdown">{{$:/core/images/down-arrow}}</$button>
<$reveal state=<<qualify "$:/state/popup/icon/$title$">> type="popup" position="belowleft" text="" default="">
<div class="tc-drop-down">
<$linkcatcher to="$title$!!icon">
Expand All @@ -22,18 +22,54 @@ title: $:/TagManager
</$reveal>
</div>
\end
<table>
\define qualifyTitle(title)
$title$$(currentTiddler)$
\end
\define toggleButton(state)
<$reveal state="$state$" type="match" text="closed" default="closed">
<$button set="$state$" setTo="open" class="tc-btn-invisible tc-btn-dropdown" selectedClass="tc-selected">
{{$:/core/images/info-button}}
</$button>
</$reveal>
<$reveal state="$state$" type="match" text="open" default="closed">
<$button set="$state$" setTo="closed" class="tc-btn-invisible tc-btn-dropdown" selectedClass="tc-selected">
{{$:/core/images/info-button}}
</$button>
</$reveal>
\end
<table class="tc-tag-manager-table">
<tbody>
<tr>
<th><<lingo Tag/Heading>></th>
<th><<lingo Colour/Heading>></th>
<th class="tc-tag-manager-tag"><<lingo Tag/Heading>></th>
<th><<lingo Icon/Heading>></th>
<th><<lingo Info/Heading>></th>
</tr>
<$list filter="[tags[]!is[system]sort[title]]">
<tr>
<td><$edit-text field="color" tag="input" type="color"/></td>
<td><$transclude tiddler="$:/core/ui/TagTemplate"/></td>
<td><$edit-text field="color" tag="input" type="text" size="9"/> <$edit-text field="color" tag="input" type="color"/></td>
<td><$macrocall $name="iconEditor" title={{!!title}}/></td>
<td>
<$macrocall $name="iconEditor" title={{!!title}}/>
</td>
<td>
<$macrocall $name="toggleButton" state=<<qualifyTitle "$:/state/tag-manager/">> />
</td>
</tr>
<tr>
<td></td>
<td>
<$reveal state=<<qualifyTitle "$:/state/tag-manager/">> type="match" text="open" default="">
<table>
<tbody>
<tr><td><<lingo Colour/Heading>></td><td><$edit-text field="color" tag="input" type="text" size="9"/></td></tr>
<tr><td><<lingo Icon/Heading>></td><td><$edit-text field="icon" tag="input" size="45"/></td></tr>
</tbody>
</table>
</$reveal>
</td>
<td></td>
<td></td>
</tr>
</$list>
</tbody>
Expand Down
19 changes: 16 additions & 3 deletions core/ui/TagTemplate.tid
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,29 @@ title: $:/core/ui/TagTemplate

\define tag-styles()
background-color:$(backgroundColor)$;
fill:$(foregroundColor)$;
color:$(foregroundColor)$;
\end
<span class="tc-tag-list-item">
<$set name="backgroundColor" value={{!!color}}>

\define tag-body-inner(colour,fallbackTarget,colourA,colourB)
<$set name="foregroundColor" value=<<contrastcolour target:"""$colour$""" fallbackTarget:"""$fallbackTarget$""" colourA:"""$colourA$""" colourB:"""$colourB$""">>>
<$set name="backgroundColor" value="""$colour$""">
<$button popup=<<qualify "$:/state/popup/tag">> class="tc-btn-invisible tc-tag-label" style=<<tag-styles>>>
<$transclude tiddler={{!!icon}}/> <$view field="title" format="text" />
</$button>
</$set>
<$reveal state=<<qualify "$:/state/popup/tag">> type="popup" position="below" animate="yes"><div class="tc-drop-down"><$transclude tiddler="$:/core/ui/ListItemTemplate"/>
<hr>
<$list filter="[all[current]tagging[]]" template="$:/core/ui/ListItemTemplate"/>
</div>
</$reveal>
</$set>
</$set>
\end

\define tag-body(colour,palette)
<span class="tc-tag-list-item">
<$macrocall $name="tag-body-inner" colour="""$colour$""" fallbackTarget={{$palette$##tag-background}} colourA={{$palette$##foreground}} colourB={{$palette$##background}}/>
</span>
\end

<$macrocall $name="tag-body" colour={{!!color}} palette={{$:/palette}}/>
16 changes: 8 additions & 8 deletions core/ui/ViewTemplate/title.tid
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@ fill:$(foregroundColor)$;
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<div class="tc-tiddler-title">
<h2 class="tc-titlebar">
<div class="tc-titlebar">
<span class="tc-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$transclude tiddler=<<listItem>>/></$reveal></$list>
</span>
<$set name="foregroundColor" value={{!!color}}>
<span style=<<title-styles>>>
<span class="tc-tiddler-title-icon" style=<<title-styles>>>
<$transclude tiddler={{!!icon}}/>
</span>
</$set>
<$list filter="[all[current]removeprefix[$:/]]">
<span class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/>
</span>
</h2>
</$list>
<$list filter="[all[current]!prefix[$:/]]">
<span class="tc-title">
<h2 class="tc-title">
<$view field="title"/>
</span>
</$list>
</h2>
</$list>
</div>

<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup" animate="yes" retain="yes">
<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup-handle" animate="yes" retain="yes">

<$transclude tiddler="$:/core/ui/TiddlerInfo"/>

Expand Down
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/clone.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Clone/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Clone/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/close-others.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/CloseOthers/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/CloseOthers/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/edit.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Edit/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Edit/Caption}}/></span>
</$list>
</$button>
</$button>
9 changes: 9 additions & 0 deletions core/ui/ViewToolbar/export-tiddler.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
title: $:/core/ui/Buttons/export-tiddler
tags: $:/tags/ViewToolbar
caption: {{$:/core/images/export-button}} {{$:/language/Buttons/ExportTiddler/Caption}}
description: {{$:/language/Buttons/ExportTiddler/Hint}}

\define makeExportFilter()
[[$(currentTiddler)$]]
\end
<$macrocall $name="exportButton" exportFilter=<<makeExportFilter>> lingoBase="$:/language/Buttons/ExportTiddler/" baseFilename=<<currentTiddler>>/>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/info.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Info/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Info/Caption}}/></span>
</$list>
</$button>
</$button>
3 changes: 1 addition & 2 deletions core/ui/ViewToolbar/more-tiddler-actions.tid
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,4 @@ $:/config/ViewToolbarButtons/Visibility/$(listItem)$
</$set>
</$set>
</div>
</$reveal>

</$reveal>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/new-journal-here.tid
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ description: {{$:/language/Buttons/NewJournalHere/Hint}}
<$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
<$set name="currentTiddlerTag" value=<<currentTiddler>>>
<<journalButton>>
</$set></$set></$set>
</$set></$set></$set>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/permalink.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Permalink/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Permalink/Caption}}/></span>
</$list>
</$button>
</$button>
2 changes: 1 addition & 1 deletion core/ui/ViewToolbar/permaview.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ description: {{$:/language/Buttons/Permaview/Hint}}
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$:/language/Buttons/Permaview/Caption}}/></span>
</$list>
</$button>
</$button>
1 change: 1 addition & 0 deletions core/wiki/config/PageControlButtons.multids
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ title: $:/config/PageControlButtons/Visibility/$:/
core/ui/Buttons/advanced-search: hide
core/ui/Buttons/close-all: hide
core/ui/Buttons/encryption: hide
core/ui/Buttons/export-page: hide
core/ui/Buttons/full-screen: hide
core/ui/Buttons/home: hide
core/ui/Buttons/refresh: hide
Expand Down
3 changes: 3 additions & 0 deletions core/wiki/config/SearchResultsDefault.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
title: $:/config/SearchResults/Default

$:/core/ui/DefaultSearchResultList
2 changes: 1 addition & 1 deletion core/wiki/config/TiddlerInfoDefault.tid
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
title: $:/config/TiddlerInfo/Default

$:/core/ui/TiddlerInfo/Tools
$:/core/ui/TiddlerInfo/Fields
4 changes: 3 additions & 1 deletion core/wiki/config/ViewToolbarButtons.multids
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ title: $:/config/ViewToolbarButtons/Visibility/$:/

core/ui/Buttons/clone: hide
core/ui/Buttons/close-others: hide
core/ui/Buttons/more-tiddler-actions: hide
core/ui/Buttons/export-tiddler: hide
core/ui/Buttons/info: hide
core/ui/Buttons/more-tiddler-actions: show
core/ui/Buttons/new-here: hide
core/ui/Buttons/new-journal-here: hide
core/ui/Buttons/permalink: hide
Expand Down
20 changes: 10 additions & 10 deletions core/wiki/macros/CSS.tid
Original file line number Diff line number Diff line change
Expand Up @@ -10,45 +10,45 @@ tags: $:/tags/Macro
\end

\define box-shadow(shadow)
```
``
-webkit-box-shadow: $shadow$;
-moz-box-shadow: $shadow$;
box-shadow: $shadow$;
```
``
\end

\define filter(filter)
```
``
-webkit-filter: $filter$;
-moz-filter: $filter$;
filter: $filter$;
```
``
\end

\define transition(transition)
```
``
-webkit-transition: $transition$;
-moz-transition: $transition$;
transition: $transition$;
```
``
\end

\define transform-origin(origin)
```
``
-webkit-transform-origin: $origin$;
-moz-transform-origin: $origin$;
transform-origin: $origin$;
```
``
\end

\define background-linear-gradient(gradient)
```
``
background-image: linear-gradient($gradient$);
background-image: -o-linear-gradient($gradient$);
background-image: -moz-linear-gradient($gradient$);
background-image: -webkit-linear-gradient($gradient$);
background-image: -ms-linear-gradient($gradient$);
```
``
\end

\define datauri(title)
Expand Down
32 changes: 32 additions & 0 deletions core/wiki/macros/export.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
title: $:/core/macros/export
tags: $:/tags/Macro

\define exportButtonFilename(baseFilename)
$baseFilename$$(extension)$
\end

\define exportButton(exportFilter:"[!is[system]sort[title]]",lingoBase,baseFilename:"tiddlers")
<span class="tc-popup-keep">
<$button popup=<<qualify "$:/state/popup/export">> tooltip={{$lingoBase$Hint}} aria-label={{$lingoBase$Caption}} class=<<tv-config-toolbar-class>> selectedClass="tc-selected">
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{$:/core/images/export-button}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text={{$lingoBase$Caption}}/></span>
</$list>
</$button>
</span>
<$reveal state=<<qualify "$:/state/popup/export">> type="popup" position="below" animate="yes">
<div class="tc-drop-down">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/Exporter]]">
<$set name="extension" value={{!!extension}}>
<$button class="tc-btn-invisible">
<$action-sendmessage $message="tm-download-file" $param=<<currentTiddler>> exportFilter="""$exportFilter$""" filename=<<exportButtonFilename """$baseFilename$""">>/>
<$action-deletetiddler $tiddler=<<qualify "$:/state/popup/export">>/>
<$transclude field="description"/>
</$button>
</$set>
</$list>
</div>
</$reveal>
\end
8 changes: 4 additions & 4 deletions core/wiki/macros/timeline.tid
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
title: $:/core/macros/timeline
tags: $:/tags/Macro

\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"")
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[modified]!sort[modified]limit[$limit$]eachday[modified]]">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="modified" format="date" template="$format$"/>
<$list filter="[sameday{!!modified}!is[system]$subfilter$!sort[modified]]">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday{!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}>
<$view field="title"/>
Expand Down
91 changes: 67 additions & 24 deletions core/wiki/macros/toc.tid
Original file line number Diff line number Diff line change
@@ -1,24 +1,33 @@
title: $:/core/macros/toc
tags: $:/tags/Macro

\define toc(tag,sort:"")
\define toc-body(rootTag,tag,sort:"",itemClassFilter)
<ol class="tc-toc">
<$list filter="[tag[$tag$]$sort$]">
<li>
<$list filter="""[tag[$tag$]!has[draft.of]$sort$]""">
<$set name="toc-item-class" filter="""$itemClassFilter$""" value="toc-item-selected" emptyValue="toc-item">
<li class=<<toc-item-class>>>
<$list filter="[is[current]toc-link[no]]" emptyMessage="<$link><$view field='caption'><$view field='title'/></$view></$link>">
<$view field="caption">
<$view field="title"/>
</$view>
</$list>
<$macrocall $name="toc" tag=<<currentTiddler>>/>
<$list filter="""[all[current]] -[[$rootTag$]]""">
<$macrocall $name="toc-body" rootTag="""$rootTag$""" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$"""/>
</$list>
</li>
</$set>
</$list>
</ol>
\end

\define toc-linked-expandable-body(tag,sort:"")
\define toc(tag,sort:"",itemClassFilter)
<<toc-body rootTag:"""$tag$""" tag:"""$tag$""" sort:"""$sort$""" itemClassFilter:"""itemClassFilter""">>
\end

\define toc-linked-expandable-body(tag,sort:"",itemClassFilter)
<$set name="toc-state" value=<<qualify "$:/state/toc/$tag$-$(currentTiddler)$">>>
<li>
<$set name="toc-item-class" filter="""$itemClassFilter$""" value="toc-item-selected" emptyValue="toc-item">
<li class=<<toc-item-class>>>
<$link>
<$reveal type="nomatch" state=<<toc-state>> text="open">
<$button set=<<toc-state>> setTo="open" class="tc-btn-invisible">
Expand All @@ -35,15 +44,17 @@ tags: $:/tags/Macro
</$view>
</$link>
<$reveal type="match" state=<<toc-state>> text="open">
<$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort="$sort$"/>
<$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$"""/>
</$reveal>
</li>
</$set>
</$set>
\end

\define toc-unlinked-expandable-body(tag,sort:"")
\define toc-unlinked-expandable-body(tag,sort:"",itemClassFilter)
<$set name="toc-state" value=<<qualify "$:/state/toc/$tag$-$(currentTiddler)$">>>
<li>
<$set name="toc-item-class" filter="""$itemClassFilter$""" value="toc-item-selected" emptyValue="toc-item">
<li class=<<toc-item-class>>>
<$reveal type="nomatch" state=<<toc-state>> text="open">
<$button set=<<toc-state>> setTo="open" class="tc-btn-invisible">
{{$:/core/images/right-arrow}}
Expand All @@ -61,25 +72,27 @@ tags: $:/tags/Macro
</$button>
</$reveal>
<$reveal type="match" state=<<toc-state>> text="open">
<$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort="$sort$"/>
<$macrocall $name="toc-expandable" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$"""/>
</$reveal>
</li>
</$set>
</$set>
\end

\define toc-expandable(tag,sort:"")
\define toc-expandable(tag,sort:"",itemClassFilter)
<ol class="tc-toc toc-expandable">
<$list filter="[tag[$tag$]$sort$]">
<$list filter="[is[current]toc-link[no]]" emptyMessage="<<toc-linked-expandable-body tag:'$tag$' sort:'$sort$'>>">
<<toc-unlinked-expandable-body tag:"$tag$" sort:"$sort$">>
<$list filter="[tag[$tag$]!has[draft.of]$sort$]">
<$list filter="[is[current]toc-link[no]]" emptyMessage="<<toc-linked-expandable-body tag:'$tag$' sort:'$sort$' itemClassFilter:'$itemClassFilter$'>>">
<<toc-unlinked-expandable-body tag:"""$tag$""" sort:"""$sort$""" itemClassFilter:"""itemClassFilter""">>
</$list>
</$list>
</ol>
\end

\define toc-linked-selective-expandable-body(tag,sort:"")
\define toc-linked-selective-expandable-body(tag,sort:"",itemClassFilter)
<$set name="toc-state" value=<<qualify "$:/state/toc/$tag$-$(currentTiddler)$">>>
<li>
<$set name="toc-item-class" filter="""$itemClassFilter$""" value="toc-item-selected" emptyValue="toc-item">
<li class=<<toc-item-class>>>
<$link>
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button>">
<$reveal type="nomatch" state=<<toc-state>> text="open">
Expand All @@ -98,15 +111,17 @@ tags: $:/tags/Macro
</$view>
</$link>
<$reveal type="match" state=<<toc-state>> text="open">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort="$sort$"/>
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$"""/>
</$reveal>
</li>
</$set>
</$set>
\end

\define toc-unlinked-selective-expandable-body(tag,sort:"")
\define toc-unlinked-selective-expandable-body(tag,sort:"",itemClassFilter)
<$set name="toc-state" value=<<qualify "$:/state/toc/$tag$-$(currentTiddler)$">>>
<li>
<$set name="toc-item-class" filter="""$itemClassFilter$""" value="toc-item-selected" emptyValue="toc-item">
<li class=<<toc-item-class>>>
<$list filter="[all[current]tagging[]limit[1]]" variable="ignore" emptyMessage="<$button class='tc-btn-invisible'>{{$:/core/images/blank}}</$button> <$view field='caption'><$view field='title'/></$view>">
<$reveal type="nomatch" state=<<toc-state>> text="open">
<$button set=<<toc-state>> setTo="open" class="tc-btn-invisible">
Expand All @@ -126,18 +141,46 @@ tags: $:/tags/Macro
</$reveal>
</$list>
<$reveal type="match" state=<<toc-state>> text="open">
<$macrocall $name="toc-selective-expandable" tag=<<currentTiddler>> sort="$sort$"/>
<$macrocall $name="""toc-selective-expandable""" tag=<<currentTiddler>> sort="""$sort$""" itemClassFilter="""$itemClassFilter$"""/>
</$reveal>
</li>
</$set>
</$set>
\end

\define toc-selective-expandable(tag,sort:"")
\define toc-selective-expandable(tag,sort:"",itemClassFilter)
<ol class="tc-toc toc-selective-expandable">
<$list filter="[tag[$tag$]$sort$]">
<$list filter="[is[current]toc-link[no]]" variable="ignore" emptyMessage="<<toc-linked-selective-expandable-body tag:'$tag$' sort:'$sort$'>>">
<<toc-unlinked-selective-expandable-body tag:"$tag$" sort:"$sort$">>
<$list filter="[tag[$tag$]!has[draft.of]$sort$]">
<$list filter="[is[current]toc-link[no]]" variable="ignore" emptyMessage="<<toc-linked-selective-expandable-body tag:'$tag$' sort:'$sort$' itemClassFilter:'$itemClassFilter$'>>">
<<toc-unlinked-selective-expandable-body tag:"""$tag$""" sort:"""$sort$""" itemClassFilter:"""$itemClassFilter$""">>
</$list>
</$list>
</ol>
\end

\define toc-tabbed-selected-item-filter(selectedTiddler)
[all[current]field:title{$selectedTiddler$}]
\end

\define toc-tabbed-external-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText)
<$tiddler tiddler={{$selectedTiddler$}}>
<div class="tc-tabbed-table-of-contents">
<$linkcatcher to="$selectedTiddler$">
<div class="tc-table-of-contents">
<$macrocall $name="toc-selective-expandable" tag="""$tag$""" sort="""$sort$""" itemClassFilter=<<toc-tabbed-selected-item-filter selectedTiddler:"""$selectedTiddler$""">>/>
</div>
</$linkcatcher>
<div class="tc-tabbed-table-of-contents-content">
<h1><$view field="caption"><$view field="title"/></$view></h1>
<$transclude mode="block">$unselectedText$</$transclude>
</div>
</div>
</$tiddler>
\end

\define toc-tabbed-internal-nav(tag,sort:"",selectedTiddler:"$:/temp/toc/selectedTiddler",unselectedText)
<$linkcatcher to="""$selectedTiddler$""">
<$macrocall $name="toc-tabbed-external-nav" tag="""$tag$""" sort="""$sort$""" selectedTiddler="""$selectedTiddler$""" unselectedText="""$unselectedText$"""/>
</$linkcatcher>
\end

2 changes: 1 addition & 1 deletion core/wiki/tags/PageControls.tid
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
title: $:/tags/PageControls
list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]
list: [[$:/core/ui/Buttons/home]] [[$:/core/ui/Buttons/close-all]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/new-tiddler]] [[$:/core/ui/Buttons/new-journal]] [[$:/core/ui/Buttons/import]] [[$:/core/ui/Buttons/export-page]] [[$:/core/ui/Buttons/control-panel]] [[$:/core/ui/Buttons/advanced-search]] [[$:/core/ui/Buttons/tag-manager]] [[$:/core/ui/Buttons/language]] [[$:/core/ui/Buttons/theme]] [[$:/core/ui/Buttons/storyview]] [[$:/core/ui/Buttons/encryption]] [[$:/core/ui/Buttons/full-screen]] [[$:/core/ui/Buttons/save-wiki]] [[$:/core/ui/Buttons/refresh]] [[$:/core/ui/Buttons/more-page-actions]]
2 changes: 1 addition & 1 deletion core/wiki/tags/ViewToolbar.tid
Original file line number Diff line number Diff line change
@@ -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/edit]] [[$:/core/ui/Buttons/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]]
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/permalink]] [[$:/core/ui/Buttons/permaview]] [[$:/core/ui/Buttons/close-others]] [[$:/core/ui/Buttons/close]]
1 change: 1 addition & 0 deletions editions/classicparserdemo/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Demo of the experimental TiddlyWiki Classic parser plugin",
"plugins": [
"tiddlywiki/tw2parser"
],
Expand Down
2 changes: 1 addition & 1 deletion editions/codemirrordemo/tiddlers/HelloThere.tid
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ To add the plugin to your own TiddlyWiki5, just drag this link to the browser wi

[[$:/plugins/tiddlywiki/codemirror]]

{{$:/plugins/tiddlywiki/codemirror/instructions}}
{{$:/plugins/tiddlywiki/codemirror/readme}}
1 change: 1 addition & 0 deletions editions/codemirrordemo/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Demo of the CodeMirror plugin",
"plugins": [
"tiddlywiki/codemirror"
],
Expand Down
1 change: 1 addition & 0 deletions editions/d3demo/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Demo of the D3 plugin",
"plugins": [
"tiddlywiki/d3"
],
Expand Down
1 change: 1 addition & 0 deletions editions/de-AT-server/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Server configuration of the German (Österreich) edition",
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem"
Expand Down
2 changes: 1 addition & 1 deletion editions/de-AT/tiddlers/howto/Speichern auf TiddlySpot.tid
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ TiddlySpot ist ein freier Hosting Service von Simon und Daniel Baird. Er ist bei
# Erstellen Sie ein Wiki auf http://tiddlyspot.com/ und merken Sie sich den Namen und Ihr Passwort!
# Für Österreich: öffnen Sie http://tiddlywiki.com/languages/de-AT/empty.html in Ihrem Browser.
#* Für Deutschland: http://tiddlywiki.com/languages/de-DE/empty.html
# Wählen Sie im [[Control Panel|$:/ControlPanel]], den "Speichern" Tab und tragen Sie im "~TiddlySpot" Bereich, den Wiki Namen und das Passwort ein.
# Wählen Sie im [[Control-Panel|$:/ControlPanel]], den "Speichern" Tab und tragen Sie im "~TiddlySpot" Bereich, den Wiki Namen und das Passwort ein.
# Klicken Sie den "Speichern" Button. Nach einiger Zeit, bekommen Sie rechts oben die Mitteilung "Wiki gespeichert". Das Speichern kann je nach Internetverbindung und Wiki Größe einige Sekunden dauern.
#* //Das Erstellen eines neuen Wikis funktioniert nicht mit Firefox, da die Sicherheitseinstellungen diese Vorgehensweise nicht erlauben. Google Chrome kann verwendet werden. Ein späteres Editieren von tiddlyspot.com ist auch mit Firefox möglich!//
# Gehen Sie nun zu Ihrem Wiki: ~http://{wikiname}.tiddlyspot.com/
Expand Down
2 changes: 1 addition & 1 deletion editions/de-AT/tiddlers/konzept/TiddlyWiki Speichern.tid
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ type: text/vnd.tiddlywiki

!! Ein leeres Dokument speichern

|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Nur TiddlyWiki und die deutschen Sprachdateien für Deutschland und Österreich werden gespeichert. Die Sprache kann nachträglich mit dem ''[[Control Panel|$:/ControlPanel]]: Info - Tab'' geändert und gespeichert werden. |
|{{$:/editions/de-AT-DE/snippets/download-empty-button}}|Nur TiddlyWiki und die deutschen Sprachdateien für Deutschland und Österreich werden gespeichert. Die Sprache kann nachträglich mit dem ''[[Control-Panel|$:/ControlPanel]]: Info - Tab'' geändert und gespeichert werden. |

!! Dieses Dokument speichern
|{{$:/snippets/download-wiki-button}}|Dieses Tiddlywiki und alle enthaltenen Tiddler werden gespeichert. Die selbe Funktion kann über den {{$:/core/images/save-button}} ''speichern'' Button im rechten Menü ausgelöst werden. |
Expand Down
27 changes: 27 additions & 0 deletions editions/de-AT/tiddlers/system/static.content.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
title: $:/core/templates/static.content
type: text/vnd.tiddlywiki
hack-to-give-us-something-to-compare-against: yes

\define tv-wikilink-template() http://tiddlywiki.com/static/$uri_doubleencoded$.html

<!-- For Google, and people without JavaScript-->
<$reveal state="!!hack-to-give-us-something-to-compare-against" type="nomatch" text=<<savingEmpty>>>

Es scheint, dass bei diesem Browser JavaScript deaktiviert wurde. Sie können die statische HTML Version verwenden:

!! Deutsch - Deutschland

* http://tiddlywiki.com/languages/de-DE/static.html - Einzelne Tiddler als individuelle Seiten.
* [ext[http://tiddlywiki.com/languages/de-DE/alltiddlers.html#Willkommen!]] - Eine Datei mit allen Tiddlern.

!! Deutsch - Österreich

* http://tiddlywiki.com/languages/de-AT/static.html - Einzelne Tiddler als individuelle Seiten.
* [ext[http://tiddlywiki.com/languages/de-AT/alltiddlers.html#Willkommen!]] - Eine Datei mit allen Tiddlern.

!! Englische Version

* http://tiddlywiki.com/static.html - Einzelne Tiddler als individuelle Seiten.
* http://tiddlywiki.com/alltiddlers.html#HelloThere - single file containing all tiddlers

</$reveal>
1 change: 1 addition & 0 deletions editions/de-AT/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Deutsch (Österreich) Edition",
"plugins": [
"tiddlywiki/github-fork-ribbon",
"tiddlywiki/browser-sniff"],
Expand Down
1 change: 1 addition & 0 deletions editions/de-DE/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Deutsche Basis Edition",
"plugins": [
"tiddlywiki/github-fork-ribbon",
"tiddlywiki/browser-sniff"],
Expand Down
6 changes: 4 additions & 2 deletions editions/dev/tiddlers/HelloThere.tid
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
modified: 20140920124011558
modified: 20141122200310516
tags: TableOfContents
title: HelloThere

Welcome to the developer documentation for TiddlyWiki (http://tiddlywiki.com/). It is currently a work in progress as material from two different sources is adapted and merged:
Welcome to the developer documentation for TiddlyWiki (http://tiddlywiki.com/). It is currently a work in progress as material from two different sources is adapted and merged in addition to original content being added:

* An assignment by Christian Jurke and Christian Heigele, two students working on their Master's degree in Information Technology at the Gießen University of Applied Sciences (Technische Hochschule Mittelhessen). Their work can be seen in the [[Introduction]] and the tiddlers that link from it.
* The original developer documentation from http://tiddlywiki.com:
Expand All @@ -22,3 +22,5 @@ Welcome to the developer documentation for TiddlyWiki (http://tiddlywiki.com/).
** SyncAdaptorModules
** WidgetModules
** WikiRuleModules
*Original developer documentation
** HookMechanism
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ title: Releasing a new version of TiddlyWiki
# Run `../build.jermolene.github.io/npm-publish.sh` to publish the release to npm
# Update the `package.json` for `build.jermolene.github.io` to the new version
# Verify that the new release of TiddlyWiki is available at https://www.npmjs.org/package/tiddlywiki
# Check the version number of TiddlyWiki specified in `build.jermolene.github.io/package.json` is the latest version
# Change current directory to the `build.jermolene.github.io` directory
# Run `npm install` to install the correct version of TiddlyWiki
# Change current directory to the `TiddlyWiki5` directory
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
created: 20141016083308219
modified: 20141016083333808
modified: 20141107213203691
title: Contributing to the TiddlyWiki Core
type: text/vnd.tiddlywiki

Expand All @@ -20,3 +20,6 @@ If you've created something new and innovative, don't try to rush to get it incl

The expected model of innovation is that the core development will move relatively slowly as more and more of the initial planned functionality is implemented. Innovation can take place in the much more unconstrained environment of plugins. Over time, as these third party plugins gain popularity and become more polished, some or all of their functionality will be migrated into the core.

! Improving Hackability of the Core

Don't be afraid to submit issues or pull requests that add hooks or other points of extensibility to help your plugin integrate with the core. An important goal for TiddlyWiki is for the core to be infinitely adaptable through plugins. It is expected that many more points of extension will need to be added to support a healthy ecosystem of plugins.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
created: 2014013122133816
modified: 20140415114024493
modified: 20141111122437656
tags: howto
title: How to create plugins in the browser
type: text/vnd.tiddlywiki
Expand Down Expand Up @@ -59,15 +59,19 @@ You should see a confirmation message, and then if you inspect the plugin tiddle

Each time you save the plugin the last portion of the version number is automatically incremented. This will ensure that users with an older version of your plugin will be able to install the new version.

!! 5. Repacking the plugin
!! 5. Testing the plugin

To test the plugin, first make sure that it has been packed. Then save changes and refresh the page in order to load the new plugin.

!! 6. Repacking the plugin

Once you've built the plugin for the first time you can omit the second parameter to `repackPlugin()` unless you are adding a new tiddler:

```
$tw.utils.repackPlugin("$:/plugins/yourname/pluginname")
```

!! 6. Removing tiddlers from the plugin
!! 7. Removing tiddlers from the plugin

To remove tiddlers from the plugin specify their titles in the optional third parameter:

Expand Down
24 changes: 24 additions & 0 deletions editions/dev/tiddlers/new/HookMechanism.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
created: 20141122200310516
modified: 20141122200310516
title: HookMechanism
type: text/vnd.tiddlywiki

The hook mechanism provides a way for plugins to intercept and modify default functionality. Hooks are added as follows:

``$tw.hooks.addHook(name,handler);``

Multiple handlers can be assigned to the same name using repeated calls. When a hook is invoked by name all registered functions will be called sequentially in their order of addition.

Though not essential care should be taken to ensure that hooks are added before they are invoked. For example: [[Hook: tc-opening-default-tiddlers-list]] should ideally be added before the story startup module is invoked otherwise any hook specified additions to the default tiddlers will not be seen on the initial loading of the page, though will be visible if the user clicks the home button.

!! Example

A working example of a hook that adds "test" to the default tiddlers.

```javascript
$tw.hooks.addHook("th-opening-default-tiddlers-list",function(list) {
list.push("test");
return list;
});
```

14 changes: 14 additions & 0 deletions editions/dev/tiddlers/new/ImportLogging.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
title: ImportLogging
created: 20141114100055595
modified: 20141114100055595

Browsers still have significant variations in their handling of drag and drop and clipboard operations.

You can switch on special logging to help debug issues:

# Open your browser JavaScript console
# Type:
#> ``$tw.log.IMPORT = true``
# Drag or paste a file to import it
# Look for debug information in the console. For example:
#> ``Importing file 'my-image.png', type: 'image/png', isBinary: true``
10 changes: 10 additions & 0 deletions editions/dev/tiddlers/new/tc-opening-default-tiddlers-list.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
created: 20141122200310516
modified: 20141122200310516
title: Hook: tc-opening-default-tiddlers-list
type: text/vnd.tiddlywiki

This hook allows plugins to add to or remove from the list of tiddlers that are opened when the wiki is first loaded or the home button is clicked.

The function takes a list of tiddlers as its only argument and returns a modified list of tiddler titles to display.

Note that this hook is invoked with the tiddler titles that are generated from the filter in [[$:/DefaultTiddlers]]. Any added entries must be tiddler titles, not filter expressions.
1 change: 1 addition & 0 deletions editions/dev/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Developer documentation from http://tiddlywiki.com/dev/",
"plugins": [
"tiddlywiki/cecily",
"tiddlywiki/googleanalytics",
Expand Down
1 change: 1 addition & 0 deletions editions/empty/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"description": "Empty edition",
"plugins": [
],
"themes": [
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
created: 20140910212049455
title: $:/config/Navigation/UpdateAddressBar
type: text/vnd.tiddlywiki
note: <!-- TODO: Remove before end of beta -->

permaview
7 changes: 7 additions & 0 deletions editions/fr-FR-server/tiddlers/config-more-button.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
created: 20140912140419093
modified: 20140912140418015
title: $:/config/PageControlButtons/Visibility/$:/core/ui/Buttons/more-page-actions
type: text/vnd.tiddlywiki
note: <!-- TODO: Remove before end of beta -->

show
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
title: $:/GoogleAnalyticsAccount

Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
title: $:/GoogleAnalyticsDomain

Binary file added editions/fr-FR-server/tiddlers/system/favicon.ico
Binary file not shown.
2 changes: 2 additions & 0 deletions editions/fr-FR-server/tiddlers/system/favicon.ico.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
title: $:/favicon.ico
type: image/x-icon
19 changes: 19 additions & 0 deletions editions/fr-FR-server/tiddlywiki.info
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"description": "Configuration en mode serveur de l'édition fr-FR",
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem",
"tiddlywiki/codemirror",
"tiddlywiki/highlight"
],
"themes": [
"tiddlywiki/vanilla"
],
"includeWikis": [
"../fr-FR"
],
"config": {
"retain-original-tiddler-path": true,
"default-tiddler-location": "../fr-FR/tiddlers"
}
}
14 changes: 14 additions & 0 deletions editions/fr-FR/tiddlers/$__Acknowledgements.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
created: 20141115220312678
modified: 20141115220543951
title: $:/Acknowledgements
type: text/vnd.tiddlywiki

TiddlyWiki intègre du code provenant de ces excellents projets OpenSource<<dp>>

* [[The Stanford Javascript Crypto Library|http://bitwiseshiftleft.github.io/sjcl/]]
* [[The Jasmine JavaScript Test Framework|http://pivotal.github.io/jasmine/]]
* [[Normalize.css by Nicolas Gallagher|http://necolas.github.io/normalize.css/]]

Et des contenus provenenant de ces sources<<dp>>

* Icônes des drapeaux du monde de [[Wikipedia|http://commons.wikimedia.org/wiki/Category:SVG_flags_by_country]]
25 changes: 25 additions & 0 deletions editions/fr-FR/tiddlers/$__ContributionBanner.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
created: 20141123120637390
creator: 127.0.0.1
list-after: $:/core/ui/EditTemplate/title
modified: 20141123162403315
modifier: 127.0.0.1
tags: $:/tags/EditTemplate
title: $:/ContributionBanner
type: text/vnd.tiddlywiki

\define makeGitHubLink()
https://github.com/Jermolene/TiddlyWiki5/edit/master/editions/fr-FR/tiddlers/$(githubLink)$
\end
\define innerMakeGitHubLink(linkText)
<$set name="githubLink" value={{$:/config/OriginalTiddlerPaths##$(draftOfTiddler)$}}>
<a href=<<makeGitHubLink>> class="tc-tiddlylink-external" target="_blank">$linkText$</a>
</$set>
\end
\define outerMakeGitHubLink(linkText)
<$set name="draftOfTiddler" value={{$(currentTiddler)$!!draft.of}}>
<<innerMakeGitHubLink "$linkText$">>
</$set>
\end
<div class="tc-improvement-banner">
{{$:/core/images/star-filled}} Pouvez-vous nous aider à améliorer cette documentation ? [[Voyez comment|Improving TiddlyWiki Documentation]] éditer <<outerMakeGitHubLink "ce tiddler sur ~GitHub">>
</div>
8 changes: 8 additions & 0 deletions editions/fr-FR/tiddlers/$__CurvedText.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
created: 20141116131524391
creator: 127.0.0.1
modified: 20141116132730693
modifier: 127.0.0.1
title: $:/CurvedText
type: text/vnd.tiddlywiki

On Firefox/Mac, it can only climb the last hill
8 changes: 8 additions & 0 deletions editions/fr-FR/tiddlers/$__DefaultTiddlers.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
created: 20131127215321439
modified: 20141115234546200
title: $:/DefaultTiddlers
type: text/vnd.tiddlywiki

HelloThere
GettingStarted
Community
6 changes: 6 additions & 0 deletions editions/fr-FR/tiddlers/$__SiteSubtitle.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
created: 20141115234557425
modified: 20141115234636070
title: $:/SiteSubtitle
type: text/vnd.tiddlywiki

un carnet de notes web personnel et non linéaire
26 changes: 26 additions & 0 deletions editions/fr-FR/tiddlers/$__core_macros_timeline.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
created: 20141119224138888
creator: 127.0.0.1
modified: 20141119224210297
modifier: 127.0.0.1
tags: $:/tags/Macro
title: $:/core/macros/timeline
type: text/vnd.tiddlywiki

\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday{!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}>
<$view field="caption">
<$view field="title"/>
</$view>
</$link>
</div>
</$list>
</div>
</$list>
</div>
\end
25 changes: 25 additions & 0 deletions editions/fr-FR/tiddlers/$__core_ui_DefaultSearchResultList.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
caption: {{$:/language/Search/DefaultResults/Caption}}
created: 20141117081621387
creator: 127.0.0.1
modified: 20141118214915276
modifier: 127.0.0.1
tags: $:/tags/SearchResults
title: $:/core/ui/DefaultSearchResultList
type: text/vnd.tiddlywiki

\define searchResultList()
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">

{{$:/language/Search/Matches}}

</$set>

//<small>Correspondances parmi les titres :</small>//

<$list filter="[!is[system]search:caption{$(searchTiddler)$}sort[caption]limit[250]] [!is[system]search:title{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>

//<small>Toutes les correspondances :</small>//

<$list filter="[!is[system]search{$(searchTiddler)$}sort[title]limit[250]]" template="$:/core/ui/ListItemTemplate"/>
\end
<<searchResultList>>
14 changes: 14 additions & 0 deletions editions/fr-FR/tiddlers/$__core_ui_ListItemTemplate.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
created: 20141117221740337
creator: 127.0.0.1
modified: 20141119225717026
modifier: 127.0.0.1
title: $:/core/ui/ListItemTemplate
type: text/vnd.tiddlywiki

<div class="tc-menu-list-item">
<$link to={{!!title}}>
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</$link>
</div>
17 changes: 17 additions & 0 deletions editions/fr-FR/tiddlers/$__core_ui_SideBar_Open.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
caption: {{$:/language/SideBar/Open/Caption}}
created: 20141119223515194
creator: 127.0.0.1
modified: 20141119230318907
modifier: 127.0.0.1
tags: $:/tags/SideBar
title: $:/core/ui/SideBar/Open
type: text/vnd.tiddlywiki

\define lingo-base() $:/language/CloseAll/
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">

<$button message="tm-close-tiddler" tooltip={{$:/language/Buttons/Close/Hint}} aria-label={{$:/language/Buttons/Close/Caption}} class="tc-btn-invisible tc-btn-mini">&times;</$button> <$link to={{!!title}}><$transclude field="caption"><$view field="title"/></$transclude></$link>

</$list>

<$button message="tm-close-all-tiddlers" class="tc-btn-invisible tc-btn-mini"><<lingo Button>></$button>
44 changes: 44 additions & 0 deletions editions/fr-FR/tiddlers/$__core_ui_ViewTemplate_title.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
created: 20141119191707140
creator: 127.0.0.1
modified: 20141119223956119
modifier: 127.0.0.1
tags: $:/tags/ViewTemplate
title: $:/core/ui/ViewTemplate/title
type: text/vnd.tiddlywiki

\define title-styles()
fill:$(foregroundColor)$;
\end
\define config-title()
$:/config/ViewToolbarButtons/Visibility/$(listItem)$
\end
<div class="tc-tiddler-title">
<div class="tc-titlebar">
<span class="tc-tiddler-controls">
<$list filter="[all[shadows+tiddlers]tag[$:/tags/ViewToolbar]!has[draft.of]]" variable="listItem"><$reveal type="nomatch" state=<<config-title>> text="hide"><$transclude tiddler=<<listItem>>/></$reveal></$list>
</span>
<$set name="foregroundColor" value={{!!color}}>
<span style=<<title-styles>>>
<$transclude tiddler={{!!icon}}/>
</span>
</$set>
<$list filter="[all[current]removeprefix[$:/]]">
<h2 class="tc-title" title={{$:/language/SystemTiddler/Tooltip}}>
<span class="tc-system-title-prefix">$:/</span><$text text=<<currentTiddler>>/>
</h2>
</$list>
<$list filter="[all[current]!prefix[$:/]]">
<h2 class="tc-title">
<$transclude field="caption">
<$view field="title"/>
</$transclude>
</h2>
</$list>
</div>

<$reveal type="nomatch" text="" default="" state=<<tiddlerInfoState>> class="tc-tiddler-info tc-popup" animate="yes" retain="yes">

<$transclude tiddler="$:/core/ui/TiddlerInfo"/>

</$reveal>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
created: 20141017093648366
creator: evolena
modified: 20141116084637091
modifier: evolena
tags: $:/tags/Stylesheet
title: $:/editions/fr-FR/CSS Stylesheets/mesStyles
type: text/css

.monStyle {
color:#ff0000;
background-color:#ffff00;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
created: 20141005182628123
creator: xcazin
modified: 20141115214429648
modifier: xcazin
tags: $:/tags/Stylesheet
title: $:/editions/fr-FR/CSS stylesheets/latex
type: text/css

/* adapted from http://edward.oconnor.cx/2007/08/tex-poshlet */

.latex {
text-transform: uppercase;
}

.latex sub {
font-size: 1em;
margin-left: -0.1667em;
margin-right: -0.125em;
}

.latex sup {
vertical-align: -0.4ex;
font-size: 0.85em;
margin-left: -0.36em;
margin-right: -0.15em;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
created: 20141017091409980
creator: evolena
modified: 20141116084827059
modifier: evolena
tags: $:/tags/Macro
title: $:/editions/fr-FR/Macros/wikitexte-exemple
type: text/vnd.tiddlywiki

\define wikitexte-exemple(src)
```
$src$
```
<div class="tc-message-box">

$src$
</div>
\end
24 changes: 24 additions & 0 deletions editions/fr-FR/tiddlers/$__editions_fr-FR_util-macros.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
created: 20141108184809586
modified: 20141115213313072
tags: $:/tags/Macro
title: $:/editions/fr-FR/util-macros
type: text/vnd.tiddlywiki

\define tw() //~TiddlyWiki//
\define latex() <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>
\define dp()
&#160;:<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
\end
\define pv()
&#160;;<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
\end
\define pi()
&#160;?<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
\end
\define pe()
&#160;!<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
\end
\define gf(text)
<!-- NO-BREAK SPACE Unicode: U+00A0, UTF-8: C2 A0, ISO-8859-1: A0 -->
«&#160;$text$&#160;»
\end
14 changes: 14 additions & 0 deletions editions/fr-FR/tiddlers/$__language_Help_build.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
created: 20141115223004311
description: Lance automatiquement les commandes configurées
modified: 20141115223009538
title: $:/language/Help/build
type: text/vnd.tiddlywiki

Compile le wiki courant à partir des cibles spécifiées. Si aucune cible n'est spécifiée, toutes les cibles seront compilées.

```
--build <target> [<target> ...]
```

Les cibles de compilation sont définies dans le fichier `tiddlywiki.info` du [[dossier associé au wiki|TiddlyWikiFolders]].

12 changes: 12 additions & 0 deletions editions/fr-FR/tiddlers/About.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
caption: À propos
created: 20140912145139340
creator: 127.0.0.1
modified: 20141105143218197
modifier: 127.0.0.1
tags: TableOfContents
title: About
type: text/vnd.tiddlywiki

Informations sur la construction de <<tw>> :

<<list-links "[tag[About]]">>
12 changes: 12 additions & 0 deletions editions/fr-FR/tiddlers/Acknowledgements.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
caption: Remerciements
created: 20140129204112515
creator: 127.0.0.1
modified: 20141115225702483
modifier: 127.0.0.1
tags: About
title: Acknowledgements
type: text/vnd.tiddlywiki

<<tw>> n'aurait pas été possible sans le soutien constant de la [[Communauté|Community]]. Son attention et ses retours ont permis de comprendre ce qui était attendu de cet outil, et sa passion pour le projet m'a appris que le jeu en valait la chandelle.

{{$:/Acknowledgements}}
25 changes: 25 additions & 0 deletions editions/fr-FR/tiddlers/Adopt a Titles Policy.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
caption: Adoptez une politique pour vos titres
created: 20130825103300000
creator: 127.0.0.1
modified: 20141115221758884
modifier: 127.0.0.1
tags: Learning
title: Adopt a Titles Policy
type: text/vnd.tiddlywiki

À mesure que les structures à l'intérieur de vos documents <<tw>> se complexifient, il peut être difficile de conserver la cohérence des titres des tiddlers. Par exemple, faut-il définir les termes au pluriel ou au singulier ? Avec la convention <<gf "//Camel case//">> ou en séparant les mots<<pi>>

Fixer une politique formelle concernant les titres peuvent aider à réduire les risques de confusion. Par exemple, la politique de titres de ce wiki sont<<dp>>

* Utilisation de mots simples en minuscules pour les tags
** exemples : [[task]], [[demo]]
* Utilisation de la forme CamelCase pour les définitions et les concepts
** exemples : TiddlerFields, DeveloperDocs
* Utilisation de mots séparés pour les titres qui sont des expressions ou des phrases complètes, comme des FAQ, des howtos ou des tâches
** exemple : [[How to build a TiddlyWiki5 from individual tiddlers]]
* Là où TiddlyWiki or TiddlyWiki5 est utilisé comme qualifieur au début du titre, toujours utiliser des mots séparés
** exemple : [[TiddlyWiki on Node.js]]

Une politique qui inclurait la règle ci-dessous pourrait s'appliquer à vos propres wikis<<dp>>

* Utliisation du préfixe `$:/_` pour tous les tiddlers système que vous créez pour être sûr de les retrouver en haut de la liste des tiddlers système de la barre latérale.
8 changes: 8 additions & 0 deletions editions/fr-FR/tiddlers/AllTiddlers.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
created: 20140225211938920
modified: 20140921085748634
title: AllTiddlers
type: text/vnd.tiddlywiki

Liste des tiddlers non système contenus dans ce wiki :

<$list filter="[!is[system]sort[title]]" />
11 changes: 11 additions & 0 deletions editions/fr-FR/tiddlers/BT Acquisition.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
caption: Acquisition par //British Telecom//
created: 20140923201232223
creator: xcazin
modified: 20141005141434026
modifier: xcazin
title: BT Acquisition
type: text/vnd.tiddlywiki

En mai 2007, [[British Telecom|BT]] a acquis [[Osmosoft]], ma société de consultant. Acquérir une société avec un seul employé et un minuscule filet de revenu relevait d'une décision inhabituelle, [[Osmosoft]] ne détenant même pas la propriété intellectuelle de <<tw>>, puisque je l'avais transférée à //~UnaMesa// pour assurer son avenir pour la communauté.

La motivation de [[British Telecom|BT]] était de mieux comprendre les écosystèmes basés sur les communautés. Je rejoignis la société en tant que <<gf "Head of Open Source Innovation">>, responsable de la gouvernance //open source//, et fournissant des conseils et de l'expertise sur la manière de participer à des communautés //open source//.
6 changes: 6 additions & 0 deletions editions/fr-FR/tiddlers/BT.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
created: 20131101091100000
modified: 20131101091100000
title: BT
type: text/vnd.tiddlywiki

BT (née British Telecom) is the UK's largest telecommunications company. In 2007, [[Osmosoft]] was acquired by BT. JeremyRuston subsequently left BT in 2011.
12 changes: 12 additions & 0 deletions editions/fr-FR/tiddlers/BuildCommand.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
caption: build
created: 20140425085548209
creator: 127.0.0.1
modified: 20141115223038555
modifier: 127.0.0.1
tags: Commands
title: BuildCommand
type: text/vnd.tiddlywiki

{{$:/language/Help/build}}

Voir TiddlyWikiFolders pour des détails sur la définition de cibles de compilation.
55 changes: 55 additions & 0 deletions editions/fr-FR/tiddlers/Changes to filters in 5.0.9-beta.tid
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
created: 20140403223413403
creator: xcazin
modified: 20141008171634188
modifier: 127.0.0.1
tags: [[Release 5.0.9-beta]]
title: Changes to filters in 5.0.9-beta
type: text/vnd.tiddlywiki

! Introduction

Cette version résoud un certain nombre d'incohérences dans la manière dont les filtres sont gérés. Ces changements impliquent que les filtres préexistants peuvent nécessiter des mises à jour — en particulier ceux qui s'exercent potentiellement sur des tiddlers manquants ou //shadow//.

! Changements à ''is'' et ajout de ''all''

La plupart des opérateurs de filtres agissent en réagençant tout ou partie des titres source. Ceux qui ajoutent de nouvelles entrées qui ne faisaient pas partie de la liste sur laquelle ils agissent sont nommés sélecteurs. Avant la version 5.0.9-beta, quelques nouveaux opérateurs de filtres étaient incohérents dans leur manière de filtrer la liste source ou d'y ajouter de nouvelles entrées.

Les changements spécifiques sont les suivants<<dp>>

* L'opérateur [[is|FilterOperator: is]] se contente à présent de filtrer à partir de la liste de tiddlers déjà sélectionnée
* Le nouvel opérateur [[all|FilterOperator: all]] agit comme //sélecteur// en remplaçant la liste en cours avec une combinaison de tidddlers issus des sources spécifiques suivantes<<dp>>

** ''current'' pour le tiddler courant
** ''missing'' pour tous les tiddlers manquants
** ''orphans'' pour tous les tiddlers orphelins
** ''shadows'' pour tous les tiddlers shadow
** ''tiddlers'' pour tous les tidders non-//shadow// (comprenant à la fois les tiddlers système et non système)

Les sources de l'opérateur ''all'' peuvent être combinées à l'aide du caractère `+`. Par exemple, `[all[shadows+tiddlers]]` renvoie tous les tidders //shadow// ainsi que tous les tiddlers ordinaires.

Précédemment, il n'était pas rare d'avoir `[is[shadow]]` au début d'une chaîne de filtre pour sélectionner tous les tidders //shadow//. À partir de 5.0.9, au lieu de renvoyer tous les tiddlers //shadow//, cela renverra seulement les tiddlers ordinaires qui s'avèrent être ''aussi'' un tiddler //shadow// (par la grâce d'en avoir écrasé un). La solution consiste à utiliser le nouvel opérateur ''all''. Par exemple, si l'on considère ce filtre tiré de 5.0.8<<dp>>

```
[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]
```

Avec 5.0.9, ce filtre a été changé en<<dp>>

```
[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]
```
On remarque comment l'opérateur ''all'' permet d'effectuer des opérations sur des tiddlers à partir de combinaisons de sources.

!! Changements pour `[is[current]]`

Une conséquence de ces changements est que `[is[current]]` est à présent un pur filtre sur les tiddlers source<<pv>> du coup, si le tiddler courant est un tiddler manquant qui ne se trouve pas dans la liste source, `[is[current]]` renverra une liste vide.

Généralement, la solution consiste plutôt à utiliser `[all[current]]`. Ce n'est pas aussi naturel à lire, mais ça a le comportement attendu de retourner systématiquement le tiddler courant, qu'il se trouve ou non parmi les tiddlers sources.

! Changements concernant ''title'' et ''field''

Il y a des changements mineurs sur la façon dont fonctionnent les opérateurs [[title|FilterOperator: title]] et [[field|FilterOperator: field]].

L'opérateur ''title'' est un //sélecteur//<<dp>> il renvoie le titre spécifié, qu'il se trouve ou non dans la source courante. ''title'' est utilisé comme opérateur par défaut si aucun opérateur n'est spécifié.

L'opérateur ''field'' est un filtre<<dp>> il se contente de retourner un sous-ensemble des tiddlers source. ''field'' est utilisé comme opérateur par défaut si l'opérateur fourni n'est pas défini (l'opérateur fourni est alors passé comme suffixe de l'opérateur ''field'', de sorte que `[description[Missing]]` est équivalent à `[field:description[Missing]]`).
Loading