Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
Nada todavía, pero pronto...
La Biblioteca Bíblica Giffmex es un recurso bíblico gratuito en español diseñado por David Gifford, misionero en México D.F. con la Iglesia Cristiana Reformada. La BBG utiliza la tecnología TiddlyWiki, creada por Jeremy Ruston.
La BBG tomará un minuto o más en cargarse por completo. Por mientras usted ya puede abrir el menú arriba y comenzar a explorar.
TiddlyWiki © osmosoft 2006
Background: #fff
Foreground: #000
PrimaryPale: #ffccaa
PrimaryLight: #222266
PrimaryMid: #222266
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #ccc
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
[[Nota importante acerca de esta biblioteca]]
[[Enlace a nuestro tutorial de TiddlyWiki|http://www.giffmex.org/tutorialtwespanol.html]]
Si tiene sugerencias o preguntas, contácteme con el correo contacto (arroba) giffmex (punto) com.
Para ver otros recursos en formato TiddlyWiki, nuestro sitio es http://www.giffmex.org.
Haga clic en cualquier enlace abajo con el botón derecho y seleccione "Guardar enlace como" para guardar el archivo a su computadora. No todos estos archivos tienen contenido actualmente.
[[Tutorial Básico de TiddlyWiki|http://www.giffmex.org/twtutorialespanol.html]]
[[Aspectos literarios del NT|ntliterariotiddly.html]]
[[Teología del NT|ntteologiatiddly.html]]
[[Trasfondo Histórico del NT|nttrasfondotiddly.html]]
[[Introducción a Mateo|http://www.giffmex.org/tw/mateointrotiddly.html]]
[[Mateo, comentario|http://www.giffmex.org/tw/mateo2tiddly.html]]
[[Introducción a Marcos|http://www.giffmex.org/tw/marcosintrotiddly.html]]
[[Marcos, comentario|http://www.giffmex.org/tw/marcos2tiddly.html]]
[[Introducción a Lucas|http://www.giffmex.org/tw/lucasintrotiddly.html]]
[[Lucas, comentario|http://www.giffmex.org/tw/lucas2tiddly.html]]
[[Introducción a Juan|http://www.giffmex.org/tw/juanintrotiddly.html]]
[[Juan, comentario|http://www.giffmex.org/tw/juan2tiddly.html]]
[[Introducción a Hechos|http://www.giffmex.org/tw/hechosintrotiddly.html]]
[[Comentario, Hechos|http://www.giffmex.org/tw/hechos2tiddly.html]]
[[Introducción a Romanos|http://www.giffmex.org/tw/romanostiddly.html]]
[[Romanos, comentario|http://www.giffmex.org/tw/romanos2tiddly.html]]
[[Introducción a 1 Corintios|http://www.giffmex.org/tw/1corintiostiddly.html]]
[[1 Corintios, comentario|http://www.giffmex.org/tw/1corintios2tiddly.html]]
[[Introducción a 2 Corintios|http://www.giffmex.org/tw/2corintiostiddly.html]]
[[2 Corintios, comentario|http://www.giffmex.org/tw/2corintios2tiddly.html]]
[[Introducción a Gálatas|http://www.giffmex.org/tw/galatastiddly.html]]
[[Introducción a Efesios|http://www.giffmex.org/tw/efesiostiddly.html]]
[[Efesios, comentario|http://www.giffmex.org/tw/efesios2tiddly.html]]
[[Introducción a Filipenses|http://www.giffmex.org/tw/filipensestiddly.html]]
[[Introducción a Colosenses|http://www.giffmex.org/tw/colosensestiddly.html]]
[[Introducción a 1 Tesalonicenses|http://www.giffmex.org/tw/1tesalonicensestiddly.html]]
[[Introducción a 2 Tesalonicenses|http://www.giffmex.org/tw/2tesalonicensestiddly.html]]
[[Introducción a 1 Timoteo|http://www.giffmex.org/tw/1timoteotiddly.html]]
[[Introducción a 2 Timoteo|http://www.giffmex.org/tw/2timoteotiddly.html]]
[[Introducción a Tito|http://www.giffmex.org/tw/titotiddly.html]]
[[Introducción a Filemón|http://www.giffmex.org/tw/filemontiddly.html]]
[[Introducción a Hebreos|http://www.giffmex.org/tw/hebreostiddly.html]]
[[Hebreos, comentario|http://www.giffmex.org/tw/hebreos2tiddly.html]]
[[Introducción a Santiago|http://www.giffmex.org/tw/santiagotiddly.html]]
[[Introducción a 1 Pedro|http://www.giffmex.org/tw/1pedrotiddly.html]]
[[Introducción a 2 Pedro|http://www.giffmex.org/tw/2pedrotiddly.html]]
[[Introducción a 1, 2, 3 Juan|http://www.giffmex.org/tw/123Juantiddly.html]]
[[Introducción a Judas|http://www.giffmex.org/tw/judastiddly.html]]
[[Introducción a Apocalipsis|http://www.giffmex.org/tw/apocalipsistiddly.html]]
[[Comentario, Apocalipsis|http://www.giffmex.org/tw/apoc2.html]]
/***
|''Name:''|ForEachTiddlerPlugin|
|''Version:''|1.0.5 (2006-02-05)|
|''Source:''|http://tiddlywiki.abego-software.de/#ForEachTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''Macros:''|[[ForEachTiddlerMacro]] v1.0.5|
|''TiddlyWiki:''|1.2.38+, 2.0|
|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|
!Description
Create customizable lists, tables etc. for your selections of tiddlers. Specify the tiddlers to include and their order through a powerful language.
''Syntax:''
|>|{{{<<}}}''forEachTiddler'' [''in'' //tiddlyWikiPath//] [''where'' //whereCondition//] [''sortBy'' //sortExpression// [''ascending'' //or// ''descending'']] [''script'' //scriptText//] [//action// [//actionParameters//]]{{{>>}}}|
|//tiddlyWikiPath//|The filepath to the TiddlyWiki the macro should work on. When missing the current TiddlyWiki is used.|
|//whereCondition//|(quoted) JavaScript boolean expression. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//sortExpression//|(quoted) JavaScript expression returning "comparable" objects (using '{{{<}}}','{{{>}}}','{{{==}}}'. May refer to the build-in variables {{{tiddler}}} and {{{context}}}.|
|//scriptText//|(quoted) JavaScript text. Typically defines JavaScript functions that are called by the various JavaScript expressions (whereClause, sortClause, action arguments,...)|
|//action//|The action that should be performed on every selected tiddler, in the given order. By default the actions [[addToList|AddToListAction]] and [[write|WriteAction]] are supported. When no action is specified [[addToList|AddToListAction]] is used.|
|//actionParameters//|(action specific) parameters the action may refer while processing the tiddlers (see action descriptions for details). <<tiddler [[JavaScript in actionParameters]]>>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
See details see [[ForEachTiddlerMacro]] and [[ForEachTiddlerExamples]].
!Revision history
* v1.0.5
** Pass tiddler containing the macro with wikify, context object also holds reference to tiddler containing the macro ("inTiddler"). Thanks to SimonBaird.
** Support Firefox 1.5.0.1
** Internal
*** Make "JSLint" conform
*** "Only install once"
* v1.0.4 (2006-01-06)
** Support TiddlyWiki 2.0
* v1.0.3 (2005-12-22)
** Features:
*** Write output to a file supports multi-byte environments (Thanks to Bram Chen)
*** Provide API to access the forEachTiddler functionality directly through JavaScript (see getTiddlers and performMacro)
** Enhancements:
*** Improved error messages on InternetExplorer.
* v1.0.2 (2005-12-10)
** Features:
*** context object also holds reference to store (TiddlyWiki)
** Fixed Bugs:
*** ForEachTiddler 1.0.1 has broken support on win32 Opera 8.51 (Thanks to BrunoSabin for reporting)
* v1.0.1 (2005-12-08)
** Features:
*** Access tiddlers stored in separated TiddlyWikis through the "in" option. I.e. you are no longer limited to only work on the "current TiddlyWiki".
*** Write output to an external file using the "toFile" option of the "write" action. With this option you may write your customized tiddler exports.
*** Use the "script" section to define "helper" JavaScript functions etc. to be used in the various JavaScript expressions (whereClause, sortClause, action arguments,...).
*** Access and store context information for the current forEachTiddler invocation (through the build-in "context" object) .
*** Improved script evaluation (for where/sort clause and write scripts).
* v1.0.0 (2005-11-20)
** initial version
!Code
***/
//{{{
//============================================================================
//============================================================================
// ForEachTiddlerPlugin
//============================================================================
//============================================================================
// Only install once
if (!version.extensions.ForEachTiddlerPlugin) {
version.extensions.ForEachTiddlerPlugin = {major: 1, minor: 0, revision: 5, date: new Date(2006,2,5), source: "http://tiddlywiki.abego-software.de/#ForEachTiddlergPlugin"};
// For backward compatibility with TW 1.2.x
//
if (!TiddlyWiki.prototype.forEachTiddler) {
TiddlyWiki.prototype.forEachTiddler = function(callback) {
for(var t in this.tiddlers) {
callback.call(this,t,this.tiddlers[t]);
}
};
}
//============================================================================
// forEachTiddler Macro
//============================================================================
version.extensions.forEachTiddler = {major: 1, minor: 0, revision: 5, date: new Date(2006,2,5), provider: "http://tiddlywiki.abego-software.de"};
// ---------------------------------------------------------------------------
// Configurations and constants
// ---------------------------------------------------------------------------
config.macros.forEachTiddler = {
// Standard Properties
label: "forEachTiddler",
prompt: "Perform actions on a (sorted) selection of tiddlers",
// actions
actions: {
addToList: {},
write: {}
}
};
// ---------------------------------------------------------------------------
// The forEachTiddler Macro Handler
// ---------------------------------------------------------------------------
config.macros.forEachTiddler.getContainingTiddler = function(e) {
while(e && !hasClass(e,"tiddler"))
e = e.parentNode;
var title = e ? e.getAttribute("tiddler") : null;
return title ? store.getTiddler(title) : null;
};
config.macros.forEachTiddler.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
// config.macros.forEachTiddler.traceMacroCall(place,macroName,params,wikifier,paramString,tiddler);
if (!tiddler) tiddler = config.macros.forEachTiddler.getContainingTiddler(place);
// --- Parsing ------------------------------------------
var i = 0; // index running over the params
// Parse the "in" clause
var tiddlyWikiPath = undefined;
if ((i < params.length) && params[i] == "in") {
i++;
if (i >= params.length) {
this.handleError(place, "TiddlyWiki path expected behind 'in'.");
return;
}
tiddlyWikiPath = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the where clause
var whereClause ="true";
if ((i < params.length) && params[i] == "where") {
i++;
whereClause = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the sort stuff
var sortClause = null;
var sortAscending = true;
if ((i < params.length) && params[i] == "sortBy") {
i++;
if (i >= params.length) {
this.handleError(place, "sortClause missing behind 'sortBy'.");
return;
}
sortClause = this.paramEncode(params[i]);
i++;
if ((i < params.length) && (params[i] == "ascending" || params[i] == "descending")) {
sortAscending = params[i] == "ascending";
i++;
}
}
// Parse the script
var scriptText = null;
if ((i < params.length) && params[i] == "script") {
i++;
scriptText = this.paramEncode((i < params.length) ? params[i] : "");
i++;
}
// Parse the action.
// When we are already at the end use the default action
var actionName = "addToList";
if (i < params.length) {
if (!config.macros.forEachTiddler.actions[params[i]]) {
this.handleError(place, "Unknown action '"+params[i]+"'.");
return;
} else {
actionName = params[i];
i++;
}
}
// Get the action parameter
// (the parsing is done inside the individual action implementation.)
var actionParameter = params.slice(i);
// --- Processing ------------------------------------------
try {
this.performMacro({
place: place,
inTiddler: tiddler,
whereClause: whereClause,
sortClause: sortClause,
sortAscending: sortAscending,
actionName: actionName,
actionParameter: actionParameter,
scriptText: scriptText,
tiddlyWikiPath: tiddlyWikiPath});
} catch (e) {
this.handleError(place, e);
}
};
// Returns an object with properties "tiddlers" and "context".
// tiddlers holds the (sorted) tiddlers selected by the parameter,
// context the context of the execution of the macro.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlersAndContext = function(parameter) {
var context = config.macros.forEachTiddler.createContext(parameter.place, parameter.whereClause, parameter.sortClause, parameter.sortAscending, parameter.actionName, parameter.actionParameter, parameter.scriptText, parameter.tiddlyWikiPath, parameter.inTiddler);
var tiddlyWiki = parameter.tiddlyWikiPath ? this.loadTiddlyWiki(parameter.tiddlyWikiPath) : store;
context["tiddlyWiki"] = tiddlyWiki;
// Get the tiddlers, as defined by the whereClause
var tiddlers = this.findTiddlers(parameter.whereClause, context, tiddlyWiki);
context["tiddlers"] = tiddlers;
// Sort the tiddlers, when sorting is required.
if (parameter.sortClause) {
this.sortTiddlers(tiddlers, parameter.sortClause, parameter.sortAscending, context);
}
return {tiddlers: tiddlers, context: context};
};
// Returns the (sorted) tiddlers selected by the parameter.
//
// The action is not yet performed.
//
// @parameter see performMacro
//
config.macros.forEachTiddler.getTiddlers = function(parameter) {
return this.getTiddlersAndContext(parameter).tiddlers;
};
// Performs the macros with the given parameter.
//
// @param parameter holds the parameter of the macro as separate properties.
// The following properties are supported:
//
// place
// whereClause
// sortClause
// sortAscending
// actionName
// actionParameter
// scriptText
// tiddlyWikiPath
//
// All properties are optional.
// For most actions the place property must be defined.
//
config.macros.forEachTiddler.performMacro = function(parameter) {
var tiddlersAndContext = this.getTiddlersAndContext(parameter);
// Perform the action
var actionName = parameter.actionName ? parameter.actionName : "addToList";
var action = config.macros.forEachTiddler.actions[actionName];
if (!action) {
this.handleError(parameter.place, "Unknown action '"+actionName+"'.");
return;
}
var actionHandler = action.handler;
actionHandler(parameter.place, tiddlersAndContext.tiddlers, parameter.actionParameter, tiddlersAndContext.context);
};
// ---------------------------------------------------------------------------
// The actions
// ---------------------------------------------------------------------------
// Internal.
//
// --- The addToList Action -----------------------------------------------
//
config.macros.forEachTiddler.actions.addToList.handler = function(place, tiddlers, parameter, context) {
// Parse the parameter
var p = 0;
// Check for extra parameters
if (parameter.length > p) {
config.macros.forEachTiddler.createExtraParameterErrorElement(place, "addToList", parameter, p);
return;
}
// Perform the action.
var list = document.createElement("ul");
place.appendChild(list);
for (var i = 0; i < tiddlers.length; i++) {
var tiddler = tiddlers[i];
var listItem = document.createElement("li");
list.appendChild(listItem);
createTiddlyLink(listItem, tiddler.title, true);
}
};
// Internal.
//
// --- The write Action ---------------------------------------------------
//
config.macros.forEachTiddler.actions.write.handler = function(place, tiddlers, parameter, context) {
// Parse the parameter
var p = 0;
if (p >= parameter.length) {
this.handleError(place, "Missing expression behind 'write'.");
return;
}
var textExpression = config.macros.forEachTiddler.paramEncode(parameter[p]);
p++;
// Parse the "toFile" option
var filename = null;
var lineSeparator = undefined;
if ((p < parameter.length) && parameter[p] == "toFile") {
p++;
if (p >= parameter.length) {
this.handleError(place, "Filename expected behind 'toFile' of 'write' action.");
return;
}
filename = config.macros.forEachTiddler.getLocalPath(config.macros.forEachTiddler.paramEncode(parameter[p]));
p++;
if ((p < parameter.length) && parameter[p] == "withLineSeparator") {
p++;
if (p >= parameter.length) {
this.handleError(place, "Line separator text expected behind 'withLineSeparator' of 'write' action.");
return;
}
lineSeparator = config.macros.forEachTiddler.paramEncode(parameter[p]);
p++;
}
}
// Check for extra parameters
if (parameter.length > p) {
config.macros.forEachTiddler.createExtraParameterErrorElement(place, "write", parameter, p);
return;
}
// Perform the action.
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(textExpression, context);
var count = tiddlers.length;
var text = "";
for (var i = 0; i < count; i++) {
var tiddler = tiddlers[i];
text += func(tiddler, context, count, i);
}
if (filename) {
if (lineSeparator !== undefined) {
lineSeparator = lineSeparator.replace(/\\n/mg, "\n").replace(/\\r/mg, "\r");
text = text.replace(/\n/mg,lineSeparator);
}
saveFile(filename, convertUnicodeToUTF8(text));
} else {
var wrapper = createTiddlyElement(place, "span");
wikify(text, wrapper, null/* highlightRegExp */, context.inTiddler);
}
};
// ---------------------------------------------------------------------------
// Helpers
// ---------------------------------------------------------------------------
// Internal.
//
config.macros.forEachTiddler.createContext = function(placeParam, whereClauseParam, sortClauseParam, sortAscendingParam, actionNameParam, actionParameterParam, scriptText, tiddlyWikiPathParam, inTiddlerParam) {
return {
place : placeParam,
whereClause : whereClauseParam,
sortClause : sortClauseParam,
sortAscending : sortAscendingParam,
script : scriptText,
actionName : actionNameParam,
actionParameter : actionParameterParam,
tiddlyWikiPath : tiddlyWikiPathParam,
inTiddler : inTiddlerParam
};
};
// Internal.
//
// Returns a TiddlyWiki with the tiddlers loaded from the TiddlyWiki of
// the given path.
//
config.macros.forEachTiddler.loadTiddlyWiki = function(path, idPrefix) {
if (!idPrefix) {
idPrefix = "store";
}
var lenPrefix = idPrefix.length;
// Read the content of the given file
var content = loadFile(this.getLocalPath(path));
if(content === null) {
throw "TiddlyWiki '"+path+"' not found.";
}
// Locate the storeArea div's
var posOpeningDiv = content.indexOf(startSaveArea);
var posClosingDiv = content.lastIndexOf(endSaveArea);
if((posOpeningDiv == -1) || (posClosingDiv == -1)) {
throw "File '"+path+"' is not a TiddlyWiki.";
}
var storageText = content.substr(posOpeningDiv + startSaveArea.length, posClosingDiv);
// Create a "div" element that contains the storage text
var myStorageDiv = document.createElement("div");
myStorageDiv.innerHTML = storageText;
myStorageDiv.normalize();
// Create all tiddlers in a new TiddlyWiki
// (following code is modified copy of TiddlyWiki.prototype.loadFromDiv)
var tiddlyWiki = new TiddlyWiki();
var store = myStorageDiv.childNodes;
for(var t = 0; t < store.length; t++) {
var e = store[t];
var title = null;
if(e.getAttribute)
title = e.getAttribute("tiddler");
if(!title && e.id && e.id.substr(0,lenPrefix) == idPrefix)
title = e.id.substr(lenPrefix);
if(title && title !== "") {
var tiddler = tiddlyWiki.createTiddler(title);
tiddler.loadFromDiv(e,title);
}
}
tiddlyWiki.dirty = false;
return tiddlyWiki;
};
// Internal.
//
// Returns a function that has a function body returning the given javaScriptExpression.
// The function has the parameters:
//
// (tiddler, context, count, index)
//
config.macros.forEachTiddler.getEvalTiddlerFunction = function (javaScriptExpression, context) {
var script = context["script"];
var functionText = "var theFunction = function(tiddler, context, count, index) { return "+javaScriptExpression+"}";
var fullText = (script ? script+";" : "")+functionText+";theFunction;";
return eval(fullText);
};
// Internal.
//
config.macros.forEachTiddler.findTiddlers = function(whereClause, context, tiddlyWiki) {
var result = [];
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(whereClause, context);
tiddlyWiki.forEachTiddler(function(title,tiddler) {
if (func(tiddler, context, undefined, undefined)) {
result.push(tiddler);
}
});
return result;
};
// Internal.
//
config.macros.forEachTiddler.createExtraParameterErrorElement = function(place, actionName, parameter, firstUnusedIndex) {
var message = "Extra parameter behind '"+actionName+"':";
for (var i = firstUnusedIndex; i < parameter.length; i++) {
message += " "+parameter[i];
}
this.handleError(place, message);
};
// Internal.
//
config.macros.forEachTiddler.sortAscending = function(tiddlerA, tiddlerB) {
var result =
(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue)
? 0
: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
? -1
: +1;
return result;
};
// Internal.
//
config.macros.forEachTiddler.sortDescending = function(tiddlerA, tiddlerB) {
var result =
(tiddlerA.forEachTiddlerSortValue == tiddlerB.forEachTiddlerSortValue)
? 0
: (tiddlerA.forEachTiddlerSortValue < tiddlerB.forEachTiddlerSortValue)
? +1
: -1;
return result;
};
// Internal.
//
config.macros.forEachTiddler.sortTiddlers = function(tiddlers, sortClause, ascending, context) {
// To avoid evaluating the sortClause whenever two items are compared
// we pre-calculate the sortValue for every item in the array and store it in a
// temporary property ("forEachTiddlerSortValue") of the tiddlers.
var func = config.macros.forEachTiddler.getEvalTiddlerFunction(sortClause, context);
var count = tiddlers.length;
var i;
for (i = 0; i < count; i++) {
var tiddler = tiddlers[i];
tiddler.forEachTiddlerSortValue = func(tiddler,context, undefined, undefined);
}
// Do the sorting
tiddlers.sort(ascending ? this.sortAscending : this.sortDescending);
// Delete the temporary property that holds the sortValue.
for (i = 0; i < tiddlers.length; i++) {
delete tiddlers[i].forEachTiddlerSortValue;
}
};
// Internal.
//
config.macros.forEachTiddler.trace = function(message) {
displayMessage(message);
};
// Internal.
//
config.macros.forEachTiddler.traceMacroCall = function(place,macroName,params) {
var message ="<<"+macroName;
for (var i = 0; i < params.length; i++) {
message += " "+params[i];
}
message += ">>";
displayMessage(message);
};
// Internal.
//
// Creates an element that holds an error message
//
config.macros.forEachTiddler.createErrorElement = function(place, exception) {
var message = (exception.description) ? exception.description : exception.toString();
return createTiddlyElement(place,"span",null,"forEachTiddlerError","<<forEachTiddler ...>>: "+message);
};
// Internal.
//
// @param place [may be null]
//
config.macros.forEachTiddler.handleError = function(place, exception) {
if (place) {
this.createErrorElement(place, exception);
} else {
throw exception;
}
};
// Internal.
//
// Encodes the given string.
//
// Replaces
// "$))" to ">>"
// "$)" to ">"
//
config.macros.forEachTiddler.paramEncode = function(s) {
var reGTGT = new RegExp("\\$\\)\\)","mg");
var reGT = new RegExp("\\$\\)","mg");
return s.replace(reGTGT, ">>").replace(reGT, ">");
};
// Internal.
//
// Returns the given original path (that is a file path, starting with "file:")
// as a path to a local file, in the systems native file format.
//
// Location information in the originalPath (i.e. the "#" and stuff following)
// is stripped.
//
config.macros.forEachTiddler.getLocalPath = function(originalPath) {
// Remove any location part of the URL
var hashPos = originalPath.indexOf("#");
if(hashPos != -1)
originalPath = originalPath.substr(0,hashPos);
// Convert to a native file format assuming
// "file:///x:/path/path/path..." - pc local file --> "x:\path\path\path..."
// "file://///server/share/path/path/path..." - FireFox pc network file --> "\\server\share\path\path\path..."
// "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."
// "file://server/share/path/path/path..." - pc network file --> "\\server\share\path\path\path..."
var localPath;
if(originalPath.charAt(9) == ":") // pc local file
localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\\");
else if(originalPath.indexOf("file://///") === 0) // FireFox pc network file
localPath = "\\\\" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\\");
else if(originalPath.indexOf("file:///") === 0) // mac/unix local file
localPath = unescape(originalPath.substr(7));
else if(originalPath.indexOf("file:/") === 0) // mac/unix local file
localPath = unescape(originalPath.substr(5));
else // pc network file
localPath = "\\\\" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\\");
return localPath;
};
// ---------------------------------------------------------------------------
// Stylesheet Extensions (may be overridden by local StyleSheet)
// ---------------------------------------------------------------------------
//
setStylesheet(
".forEachTiddlerError{color: #ffffff;background-color: #880000;}",
"forEachTiddler");
//============================================================================
// End of forEachTiddler Macro
//============================================================================
//============================================================================
// String.startsWith Function
//============================================================================
//
// Returns true if the string starts with the given prefix, false otherwise.
//
version.extensions["String.startsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.startsWith = function(prefix) {
var n = prefix.length;
return (this.length >= n) && (this.slice(0, n) == prefix);
};
//============================================================================
// String.endsWith Function
//============================================================================
//
// Returns true if the string ends with the given suffix, false otherwise.
//
version.extensions["String.endsWith"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.endsWith = function(suffix) {
var n = suffix.length;
return (this.length >= n) && (this.right(n) == suffix);
};
//============================================================================
// String.contains Function
//============================================================================
//
// Returns true when the string contains the given substring, false otherwise.
//
version.extensions["String.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
String.prototype.contains = function(substring) {
return this.indexOf(substring) >= 0;
};
//============================================================================
// Array.indexOf Function
//============================================================================
//
// Returns the index of the first occurance of the given item in the array or
// -1 when no such item exists.
//
// @param item [may be null]
//
version.extensions["Array.indexOf"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.indexOf = function(item) {
for (var i = 0; i < this.length; i++) {
if (this[i] == item) {
return i;
}
}
return -1;
};
//============================================================================
// Array.contains Function
//============================================================================
//
// Returns true when the array contains the given item, otherwise false.
//
// @param item [may be null]
//
version.extensions["Array.contains"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.contains = function(item) {
return (this.indexOf(item) >= 0);
};
//============================================================================
// Array.containsAny Function
//============================================================================
//
// Returns true when the array contains at least one of the elements
// of the item. Otherwise (or when items contains no elements) false is returned.
//
version.extensions["Array.containsAny"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAny = function(items) {
for(var i = 0; i < items.length; i++) {
if (this.contains(items[i])) {
return true;
}
}
return false;
};
//============================================================================
// Array.containsAll Function
//============================================================================
//
// Returns true when the array contains all the items, otherwise false.
//
// When items is null false is returned (even if the array contains a null).
//
// @param items [may be null]
//
version.extensions["Array.containsAll"] = {major: 1, minor: 0, revision: 0, date: new Date(2005,11,20), provider: "http://tiddlywiki.abego-software.de"};
//
Array.prototype.containsAll = function(items) {
for(var i = 0; i < items.length; i++) {
if (!this.contains(items[i])) {
return false;
}
}
return true;
};
} // of "install only once"
// Used Globals (for JSLint) ==============
// ... DOM
/*global document */
// ... TiddlyWiki Core
/*global convertUnicodeToUTF8, createTiddlyElement, createTiddlyLink,
displayMessage, endSaveArea, hasClass, loadFile, saveFile,
startSaveArea, store, wikify */
//}}}
/***
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2005 ([[www.abego-software.de|http://www.abego-software.de]])
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
***/
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
|!terst|!test|
<<forEachTiddler where 'tiddler.tags.contains("glosario")' sortBy 'tiddler.title'>>
When you specify a link to a tiddler a tiddler with that title is searched at the following locations:
* In the "normal" tiddlers of the main TiddlyWiki
* In the "shadow" tiddlers of the main TiddlyWiki
* In the "normal" tiddlers of all included TiddlyWikis, in the order of the include macros.<<br>>//(You may use [[The "includeState" Macro]] to check the order)//
The first tiddler found this way is used.
''Note:'' If two tiddlers in two TiddlyWikis have the same name, the one from the first TiddlyWiki is used, i.e. the other is "hidden".
!Step 1: Get the Plugin
Import the IncludePlugin (from http://tiddlywiki.abego-software.de), e.g. using the ImportTiddlers, and make sure the "systemConfig" tag is defined.
!Step 2: Include ~TiddlyWikis
To include TiddlyWikis add an „include“ macro into the tiddler „IncludeList“:
{{{
<<include "shared/TiddlyWikiHelp.html">>
<<include "journals/2007-01.html">>
}}}
For details see [[The "include" Macro]].
''Notes''
* You need to reload your TiddlyWiki after you added or changed any "include" macro.
!Step 3: Access included Tiddlers
To access an included tiddler you just need to create a link to that tiddler (with the tiddler's title). If you click that link the included tiddler will be displayed. To "find" an included tiddler, just search for it with the standard search feature.
You only can edit included tiddlers in their "original" TiddlyWiki. Hence included Tiddlers are readonly in a "main" TiddlyWiki.
See also [[How Tiddlers are found]].
<<include "http://www.giffmex.org/twtutorialespanol.html">>
<<include "http://www.giffmex.org/tw/ntliterariotiddly.html">>
<<include "http://www.giffmex.org/tw/ntteologiatiddly.html">>
<<include "http://www.giffmex.org/tw/nttrasfondotiddly.html">>
<<include "http://www.giffmex.org/tw/evangeliosdatos.html">>
<<include "http://www.giffmex.org/tw/mateointrotiddly.html">>
<<include "http://www.giffmex.org/tw/mateo2tiddly.html">>
<<include "http://www.giffmex.org/tw/marcosintrotiddly.html">>
<<include "http://www.giffmex.org/tw/marcos2tiddly.html">>
<<include "http://www.giffmex.org/tw/lucasintrotiddly.html">>
<<include "http://www.giffmex.org/tw/lucas2tiddly.html">>
<<include "http://www.giffmex.org/tw/juanintrotiddly.html">>
<<include "http://www.giffmex.org/tw/juan2tiddly.html">>
<<include "http://www.giffmex.org/tw/hechosintrotiddly.html">>
<<include "http://www.giffmex.org/tw/hechos2tiddly.html">>
<<include "http://www.giffmex.org/tw/romanostiddly.html">>
<<include "http://www.giffmex.org/tw/romanos2tiddly.html">>
<<include "http://www.giffmex.org/tw/1corintiostiddly.html">>
<<include "http://www.giffmex.org/tw/1corintios2tiddly.html">>
<<include "http://www.giffmex.org/tw/2corintiostiddly.html">>
<<include "http://www.giffmex.org/tw/2corintios2tiddly.html">>
<<include "http://www.giffmex.org/tw/galatastiddly.html">>
<<include "http://www.giffmex.org/tw/efesiostiddly.html">>
<<include "http://www.giffmex.org/tw/efesios2tiddly.html">>
<<include "http://www.giffmex.org/tw/filipensestiddly.html">>
<<include "http://www.giffmex.org/tw/colosensestiddly.html">>
<<include "http://www.giffmex.org/tw/1tesalonicensestiddly.html">>
<<include "http://www.giffmex.org/tw/2tesalonicensestiddly.html">>
<<include "http://www.giffmex.org/tw/1timoteotiddly.html">>
<<include "http://www.giffmex.org/tw/2timoteotiddly.html">>
<<include "http://www.giffmex.org/tw/titotiddly.html">>
<<include "http://www.giffmex.org/tw/filemontiddly.html">>
<<include "http://www.giffmex.org/tw/hebreostiddly.html">>
<<include "http://www.giffmex.org/tw/hebreos2tiddly.html">>
<<include "http://www.giffmex.org/tw/santiagotiddly.html">>
<<include "http://www.giffmex.org/tw/1pedrotiddly.html">>
<<include "http://www.giffmex.org/tw/2pedrotiddly.html">>
<<include "http://www.giffmex.org/tw/123Juantiddly.html">>
<<include "http://www.giffmex.org/tw/judastiddly.html">>
<<include "http://www.giffmex.org/tw/apocalipsistiddly.html">>
<<include "http://www.giffmex.org/tw/apoc2.html">>
/***
|''Name:''|abego.IncludePlugin|
|''Version:''|1.0.0 (2007-02-08)|
|''Type:''|plugin|
|''Source:''|http://tiddlywiki.abego-software.de/#IncludePlugin|
|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|
|''Documentation:''|[[IncludePlugin Documentation|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]]|
|''Community:''|([[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html%23IncludePlugin]]) ([[Support|http://groups.google.com/group/TiddlyWiki]])|
|''Copyright:''|© 2007 [[abego Software|http://www.abego-software.de]]|
|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|
|''~CoreVersion:''|2.1.3|
|''Browser:''|Firefox 1.5.0.9 or better; Internet Explorer 6.0|
***/
/***
This plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/IncludePlugin/Plugin-Include-src.1.0.0.js]] to get the readable source code.
***/
///%
if(!window.abego){window.abego={};}var invokeLater=function(_1,_2,_3){return abego.invokeLater?abego.invokeLater(_1,_2,_3):setTimeout(_1,_2);};abego.loadFile=function(_4,_5,_6){var _7=function(_8,_9,_a,_b,_c){return _8?_5(_a,_b,_9):_5(undefined,_b,_9,"Error loading %0".format([_b]));};if(_4.search(/^((http(s)?)|(file)):/)!=0){if(_4.search(/^((.\:\\)|(\\\\)|(\/))/)==0){_4="file://"+_4;}else{var _d=document.location.toString();var i=_d.lastIndexOf("/");_4=_d.substr(0,i+1)+_4;}_4=_4.replace(/\\/mg,"/");}loadRemoteFile(_4,_7,_6);};abego.loadTiddlyWikiStore=function(_f,_10,_11,_12){var _13=function(_14,_15){if(_12){_12(_14,"abego.loadTiddlyWikiStore",_15,_f,_11);}};var _16=function(_17,_18){var _19=_18.indexOf(startSaveArea);var _1a=_18.indexOf("<!--POST-BODY-END--"+">");var _1b=_18.lastIndexOf(endSaveArea,_1a==-1?_18.length:_1a);if((_19==-1)||(_1b==-1)){return config.messages.invalidFileError.format([_f]);}var _1c="<html><body>"+_18.substring(_19,_1b+endSaveArea.length)+"</body></html>";var _1d=document.createElement("iframe");_1d.style.display="none";document.body.appendChild(_1d);var doc=_1d.document;if(_1d.contentDocument){doc=_1d.contentDocument;}else{if(_1d.contentWindow){doc=_1d.contentWindow.document;}}doc.open();doc.writeln(_1c);doc.close();var _1f=doc.getElementById("storeArea");_17.loadFromDiv(_1f,"store");_1d.parentNode.removeChild(_1d);return null;};var _20=function(_21){_13("Error when loading %0".format([_f]),"Failed");_10(undefined,_f,_11,_21);return _21;};var _22=function(_23){_13("Loaded %0".format([_f]),"Done");_10(_23,_f,_11);return null;};var _24=function(_25,_26,_27,_28){if(_25===undefined){_20(_28);return;}_13("Processing %0".format([_f]),"Processing");var _29=config.messages.invalidFileError;config.messages.invalidFileError="The file '%0' does not appear to be a valid TiddlyWiki file";try{var _2a=new TiddlyWiki();var _2b=_16(_2a,_25);if(_2b){_20(_2b);}else{_22(_2a);}}catch(ex){_20(exceptionText(ex));}finally{config.messages.invalidFileError=_29;}};_13("Start loading %0".format([_f]),"Started");abego.loadFile(_f,_24,_11);};(function(){if(abego.TiddlyWikiIncluder){return;}var _2c="waiting";var _2d="loading";var _2e=1000;var _2f=-200;var _30=-100;var _31=-300;var _32;var _33=[];var _34={};var _35=[];var _36;var _37=[];var _38;var _39=function(){if(_32===undefined){_32=config.options.chkUseInclude===undefined||config.options.chkUseInclude;}return _32;};var _3a=function(url){return "No include specified for %0".format([url]);};var _3c=function(){var _3d=_35;_35=[];if(_3d.length){for(var i=0;i<_37.length;i++){_37[i](_3d);}}};var _3f;var _40=function(){if(_36!==undefined){clearInterval(_36);}_3f=0;var _41=function(){abego.TiddlyWikiIncluder.sendProgress("","","Done");};_36=setInterval(function(){_3f++;if(_3f<=10){return;}clearInterval(_36);_36=undefined;abego.TiddlyWikiIncluder.sendProgress("Refreshing...","","");refreshDisplay();invokeLater(_41,0,_2f);},0);};var _42=function(_43){var _44;for(var i=0;i<_33.length;i++){var _46=abego.TiddlyWikiIncluder.getStore(_33[i]);if(_46&&(_44=_43(_46,_33[i]))){return _44;}}};var _47=function(){if(!window.store){return invokeLater(_47,100);}var _48=store.fetchTiddler;store.fetchTiddler=function(_49){var t=_48.apply(this,arguments);if(t){return t;}if(config.shadowTiddlers[_49]!==undefined){return undefined;}if(_49==config.macros.newTiddler.title){return undefined;}return _42(function(_4b,url){var t=_4b.fetchTiddler(_49);if(t){t.includeURL=url;}return t;});};if(_33.length){_40();}};var _4e=function(){if(!window.store){return invokeLater(_4e,100);}var _4f=store.getTiddlerText("IncludeList");if(_4f){wikify(_4f,document.createElement("div"));}};var _50=function(_51){var _52=function(){var _53=store.forEachTiddler;var _54=function(_55){var _56={};var _57;var _58=function(_59,_5a){if(_56[_59]){return;}_56[_59]=1;if(_57){_5a.includeURL=_57;}_55.apply(this,arguments);};_53.call(store,_58);for(var n in config.shadowTiddlers){_56[n]=1;}_56[config.macros.newTiddler.title]=1;_42(function(_5c,url){_57=url;_5c.forEachTiddler(_58);});};store.forEachTiddler=_54;try{return _51.apply(this,arguments);}finally{store.forEachTiddler=_53;}};return _52;};var _5e=function(_5f,_60){return _5f[_60]=_50(_5f[_60]);};abego.TiddlyWikiIncluder={};abego.TiddlyWikiIncluder.setProgressFunction=function(_61){_38=_61;};abego.TiddlyWikiIncluder.getProgressFunction=function(_62){return _38;};abego.TiddlyWikiIncluder.sendProgress=function(_63,_64,_65){if(_38){_38.apply(this,arguments);}};abego.TiddlyWikiIncluder.onError=function(url,_67){displayMessage("Error when including '%0':\n%1".format([url,_67]));};abego.TiddlyWikiIncluder.hasPendingIncludes=function(){for(var i=0;i<_33.length;i++){var _69=abego.TiddlyWikiIncluder.getState(_33[i]);if(_69==_2c||_69==_2d){return true;}}return false;};abego.TiddlyWikiIncluder.getIncludes=function(){return _33.slice();};abego.TiddlyWikiIncluder.getState=function(url){var s=_34[url];if(!s){return _3a(url);}return typeof s=="string"?s:null;};abego.TiddlyWikiIncluder.getStore=function(url){var s=_34[url];if(!s){return _3a(url);}return s instanceof TiddlyWiki?s:null;};abego.TiddlyWikiIncluder.include=function(url,_6f){if(!_39()||_34[url]){return;}var _70=this;_33.push(url);_34[url]=_2c;var _71=function(_72,_73,_74,_75){if(_72===undefined){_34[url]=_75;_70.onError(url,_75);return;}_34[url]=_72;_35.push(url);invokeLater(_3c);};var _76=function(){_34[url]=_2d;abego.loadTiddlyWikiStore(url,_71,null,_38);};if(_6f){invokeLater(_76,_6f);}else{_76();}};abego.TiddlyWikiIncluder.forReallyEachTiddler=function(_77){var _78=function(){store.forEachTiddler(_77);};_50(_78).call(store);};abego.TiddlyWikiIncluder.getFunctionUsingForReallyEachTiddler=_50;abego.TiddlyWikiIncluder.useForReallyEachTiddler=_5e;abego.TiddlyWikiIncluder.addListener=function(_79){_37.push(_79);};abego.TiddlyWikiIncluder.addListener(_40);if(config.options.chkUseInclude===undefined){config.options.chkUseInclude=true;}config.shadowTiddlers.AdvancedOptions+="\n<<option chkUseInclude>> Include ~TiddlyWikis (IncludeList | IncludeState | [[help|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]])\n^^(Reload this ~TiddlyWiki to make changes become effective)^^";config.shadowTiddlers.IncludeState="<<includeState>>";var _7a=function(e,_7c,_7d){if(!anim||!abego.ShowAnimation){e.style.display=_7c?"block":"none";return;}anim.startAnimating(new abego.ShowAnimation(e,_7c,_7d));};abego.TiddlyWikiIncluder.getDefaultProgressFunction=function(){setStylesheet(".includeProgressState{\n"+"background-color:#FFCC00;\n"+"position:absolute;\n"+"right:0.2em;\n"+"top:0.2em;\n"+"width:7em;\n"+"padding-left:0.2em;\n"+"padding-right:0.2em\n"+"}\n","abegoInclude");var _7e=function(){var e=document.createElement("div");e.className="includeProgressState";e.style.display="none";document.body.appendChild(e);return e;};var _80=_7e();var _81=function(_82){removeChildren(_80);createTiddlyText(_80,_82);_7a(_80,true,0);};var _83=function(){invokeLater(function(){_7a(_80,false,_2e);},100,_30);};var _84=function(_85,_86,_87,url,_89){if(_87=="Done"||_87=="Failed"){_83();return;}if(_86=="abego.loadTiddlyWikiStore"){_3f=0;if(_87=="Processing"){_81("Including...");}}else{_81(_85);}};return _84;};abego.TiddlyWikiIncluder.setProgressFunction(abego.TiddlyWikiIncluder.getDefaultProgressFunction());config.macros.include={};config.macros.include.handler=function(_8a,_8b,_8c,_8d,_8e,_8f){_8c=_8e.parseParams("url",null,true,false,true);var _90=parseInt(getParam(_8c,"delay","0"));var _91=_8c[0]["url"];var _92=getFlag(_8c,"hide",false);if(!_92){createTiddlyText(createTiddlyElement(_8a,"code"),_8d.source.substring(_8d.matchStart,_8d.nextMatch));}for(var i=0;_91&&i<_91.length;i++){abego.TiddlyWikiIncluder.include(_91[i],_90);}};config.macros.includeState={};config.macros.includeState.handler=function(_94,_95,_96,_97,_98,_99){var _9a=function(){var s="";var _9c=abego.TiddlyWikiIncluder.getIncludes();if(!_9c.length){return "{{noIncludes{\nNo includes or 'include' is disabled (see AdvancedOptions)\n}}}\n";}s+="|!Address|!State|\n";for(var i=0;i<_9c.length;i++){var inc=_9c[i];s+="|{{{"+inc+"}}}|";var t=abego.TiddlyWikiIncluder.getState(inc);s+=t?"{{{"+t+"}}}":"included";s+="|\n";}s+="|includeState|k\n";return s;};var _a0=function(){removeChildren(div);wikify(_9a(),div);if(abego.TiddlyWikiIncluder.hasPendingIncludes()){invokeLater(_a0,500,_31);}};var div=createTiddlyElement(_94,"div");invokeLater(_a0,0,_31);};var _a2=Tiddler.prototype.isReadOnly;Tiddler.prototype.isReadOnly=function(){return _a2.apply(this,arguments)||this.isIncluded();};Tiddler.prototype.isIncluded=function(){return this.includeURL!=undefined;};Tiddler.prototype.getIncludeURL=function(){return this.includeURL;};var _a3={getMissingLinks:1,getOrphans:1,getTags:1,reverseLookup:1,updateTiddlers:1};for(var n in _a3){_5e(TiddlyWiki.prototype,n);}var _a5=function(){if(abego.IntelliTagger){_5e(abego.IntelliTagger,"assistTagging");}};_47();invokeLater(_4e,100);invokeLater(_a5,100);})();
//%/
!About the ~IncludePlugin
Include other ~TiddlyWikis in your (main) TiddlyWiki, link to included tiddlers, view them in your (main) TiddlyWiki, without opening another TiddlyWiki. Even „search“ looks for included tiddlers.
A great way to share tiddlers, to speed up "save changes" and to keep your ~TiddlyWikis small.
!Smaller ~TiddlyWikis
Other than „imported“ tiddlers, included tiddlers are not copied into your main ~TiddlyWiki. This keeps your individual ~TiddlyWikis small.
Since your TiddlyWikis will become smaller (if you reorganize your TiddlyWikis using the IncludePlugin) also "save changes" become faster. You may even consider switching on "AutoSave" or "SaveBackups" again.
!Sharing ~TiddlyWikis
You may include one ~TiddlyWiki in several other ~TiddlyWikis. Changes you make to this shared ~TiddlyWiki are automatically reflected the next time you open the other ~TiddlyWikis, without any extra „import“ step or so.
''Examples''
* you may want to have a single „~TiddlyWikiHelp“ ~TiddlyWiki that you include in all your ~TiddlyWikis. So you can quickly find help information without looking into other files, and without blowing up your ~TiddlyWikis.
* you include your „~ToDo Application ~TiddlyWiki“ in several „~ToDo List“ TW. This way only your actual „~ToDo“ data is stored in the individual lists, keeping the lists small. If a newer version of the „~ToDo Application TW“ becomes available you only need to update the one application ~TiddlyWiki and all all „Lists“ will directly use the new features.
* You "archive" your old journal tiddlers into an extra TiddlyWiki (e.g. one per month) and just include the archived journals in you "current month diary/blog". This way you still have access to the old information (e.g. to reference historic information) but you avoid your diary/blog will get to large.
* ...
See also:
* [[How to use the IncludePlugin]]
* [[How Tiddlers are found]]
* [[IncludePlugin Options]]
* [[The "include" Macro]]
* [[The "includeState" Macro]]
Using the AdvancedOptions page you have an easy way to configure the IncludePlugin options.
You will find a section like this:
{{optionsBlock{
<<option chkUseInclude>> Include ~TiddlyWikis (IncludeList | IncludeState | [[help|http://tiddlywiki.abego-software.de/#%5B%5BIncludePlugin%20Documentation%5D%5D]])
^^(Reload this ~TiddlyWiki to make changes become effective)^^
}}}
* By default the IncludePlugin is enabled. If you uncheck the checkbox external TiddlyWikis are not included.
* The IncludeList is the preferred place for your {{{<<include ...>>}}} lines.
* The IncludeState page gives you can an overview what TiddlyWikis are included etc.
* The help directs you to the online documentation of the Include Plugin.
/***
|''Name:''|InlineJavascriptPlugin|
|''Source:''|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|''Author:''|Eric Shulman - ELS Design Studios|
|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|''~CoreVersion:''|2.0.10|
Insert Javascript executable code directly into your tiddler content. Lets you ''call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Usage
<<<
When installed, this plugin adds new wiki syntax for surrounding tiddler content with {{{<script>}}} and {{{</script>}}} markers, so that it can be treated as embedded javascript and executed each time the tiddler is rendered.
''Deferred execution from an 'onClick' link''
By including a label="..." parameter in the initial {{{<script>}}} marker, the plugin will create a link to an 'onclick' script that will only be executed when that specific link is clicked, rather than running the script each time the tiddler is rendered.
''External script source files:''
You can also load javascript from an external source URL, by including a src="..." parameter in the initial {{{<script>}}} marker (e.g., {{{<script src="demo.js"></script>}}}). This is particularly useful when incorporating third-party javascript libraries for use in custom extensions and plugins. The 'foreign' javascript code remains isolated in a separate file that can be easily replaced whenever an updated library file becomes available.
''Display script source in tiddler output''
By including the keyword parameter "show", in the initial {{{<script>}}} marker, the plugin will include the script source code in the output that it displays in the tiddler.
''Defining javascript functions and libraries:''
Although the external javascript file is loaded while the tiddler content is being rendered, any functions it defines will not be available for use until //after// the rendering has been completed. Thus, you cannot load a library and //immediately// use it's functions within the same tiddler. However, once that tiddler has been loaded, the library functions can be freely used in any tiddler (even the one in which it was initially loaded).
To ensure that your javascript functions are always available when needed, you should load the libraries from a tiddler that will be rendered as soon as your TiddlyWiki document is opened. For example, you could put your {{{<script src="..."></script>}}} syntax into a tiddler called LoadScripts, and then add {{{<<tiddler LoadScripts>>}}} in your MainMenu tiddler.
Since the MainMenu is always rendered immediately upon opening your document, the library will always be loaded before any other tiddlers that rely upon the functions it defines. Loading an external javascript library does not produce any direct output in the tiddler, so these definitions should have no impact on the appearance of your MainMenu.
''Creating dynamic tiddler content''
An important difference between this implementation of embedded scripting and conventional embedded javascript techniques for web pages is the method used to produce output that is dynamically inserted into the document:
* In a typical web document, you use the document.write() function to output text sequences (often containing HTML tags) that are then rendered when the entire document is first loaded into the browser window.
* However, in a ~TiddlyWiki document, tiddlers (and other DOM elements) are created, deleted, and rendered "on-the-fly", so writing directly to the global 'document' object does not produce the results you want (i.e., replacing the embedded script within the tiddler content), and completely replaces the entire ~TiddlyWiki document in your browser window.
* To allow these scripts to work unmodified, the plugin automatically converts all occurences of document.write() so that the output is inserted into the tiddler content instead of replacing the entire ~TiddlyWiki document.
If your script does not use document.write() to create dynamically embedded content within a tiddler, your javascript can, as an alternative, explicitly return a text value that the plugin can then pass through the wikify() rendering engine to insert into the tiddler display. For example, using {{{return "thistext"}}} will produce the same output as {{{document.write("thistext")}}}.
//Note: your script code is automatically 'wrapped' inside a function, {{{_out()}}}, so that any return value you provide can be correctly handled by the plugin and inserted into the tiddler. To avoid unpredictable results (and possibly fatal execution errors), this function should never be redefined or called from ''within'' your script code.//
''Accessing the ~TiddlyWiki DOM''
The plugin provides one pre-defined variable, 'place', that is passed in to your javascript code so that it can have direct access to the containing DOM element into which the tiddler output is currently being rendered.
Access to this DOM element allows you to create scripts that can:
* vary their actions based upon the specific location in which they are embedded
* access 'tiddler-relative' information (use findContainingTiddler(place))
* perform direct DOM manipulations (when returning wikified text is not enough)
<<<
!!!!!Examples
<<<
an "alert" message box:
><script show>
alert('InlineJavascriptPlugin: this is a demonstration message');
</script>
dynamic output:
><script show>
return (new Date()).toString();
</script>
wikified dynamic output:
><script show>
return "link to current user: [["+config.options.txtUserName+"]]";
</script>
dynamic output using 'place' to get size information for current tiddler:
><script show>
if (!window.story) window.story=window;
var title=story.findContainingTiddler(place).id.substr(7);
return title+" is using "+store.getTiddlerText(title).length+" bytes";
</script>
creating an 'onclick' button/link that runs a script:
><script label="click here" show>
if (!window.story) window.story=window;
alert("Hello World!\nlinktext='"+place.firstChild.data+"'\ntiddler='"+story.findContainingTiddler(place).id.substr(7)+"'");
</script>
loading a script from a source url:
>http://www.TiddlyTools.com/demo.js contains:
>>{{{function demo() { alert('this output is from demo(), defined in demo.js') } }}}
>>{{{alert('InlineJavascriptPlugin: demo.js has been loaded'); }}}
><script src="demo.js" show>
return "loading demo.js..."
</script>
><script label="click to execute demo() function" show>
demo()
</script>
<<<
!!!!!Installation
<<<
import (or copy/paste) the following tiddlers into your document:
''InlineJavascriptPlugin'' (tagged with <<tag systemConfig>>)
<<<
!!!!!Revision History
<<<
''2006.10.16 [1.5.2]'' add newline before closing '}' in 'function out_' wrapper. Fixes error caused when last line of script is a comment.
''2006.06.01 [1.5.1]'' when calling wikify() on script return value, pass hightlightRegExp and tiddler params so macros that rely on these values can render properly
''2006.04.19 [1.5.0]'' added 'show' parameter to force display of javascript source code in tiddler output
''2006.01.05 [1.4.0]'' added support 'onclick' scripts. When label="..." param is present, a button/link is created using the indicated label text, and the script is only executed when the button/link is clicked. 'place' value is set to match the clicked button/link element.
''2005.12.13 [1.3.1]'' when catching eval error in IE, e.description contains the error text, instead of e.toString(). Fixed error reporting so IE shows the correct response text. Based on a suggestion by UdoBorkowski
''2005.11.09 [1.3.0]'' for 'inline' scripts (i.e., not scripts loaded with src="..."), automatically replace calls to 'document.write()' with 'place.innerHTML+=' so script output is directed into tiddler content. Based on a suggestion by BradleyMeck
''2005.11.08 [1.2.0]'' handle loading of javascript from an external URL via src="..." syntax
''2005.11.08 [1.1.0]'' pass 'place' param into scripts to provide direct DOM access
''2005.11.08 [1.0.0]'' initial release
<<<
!!!!!Credits
<<<
This feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]
<<<
!!!!!Code
***/
//{{{
version.extensions.inlineJavascript= {major: 1, minor: 5, revision: 2, date: new Date(2006,10,16)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
if (lookaheadMatch[1]) { // load a script library
// make script tag, set src, add to body to execute, then remove for cleanup
var script = document.createElement("script"); script.src = lookaheadMatch[1];
document.body.appendChild(script); document.body.removeChild(script);
}
if (lookaheadMatch[4]) { // there is script code
if (lookaheadMatch[3]) // show inline script code in tiddler output
wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
if (lookaheadMatch[2]) { // create a link to an 'onclick' script
// add a link, define click handler, save code in link (pass 'place'), set link attributes
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",lookaheadMatch[2]);
link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description?e.description:e.toString())}}
link.code="function _out(place){"+lookaheadMatch[4]+"\n};_out(this);"
link.setAttribute("href","javascript:;"); link.setAttribute("title",""); link.style.cursor="pointer";
}
else { // run inline script code
var code="function _out(place){"+lookaheadMatch[4]+"\n};_out(w.output);"
code=code.replace(/document.write\(/gi,'place.innerHTML+=(');
try { var out = eval(code); } catch(e) { out = e.description?e.description:e.toString(); }
if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
}
}
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} )
//}}}
[[Elementos comunes en los Evangelios]]
[[Introducción a Mateo]]
[[Notas Exegéticas para Mateo]]
[[Introducción a Marcos]]
[[Notas Exegéticas para Marcos]]
[[Introducción a Lucas]]
[[Notas Exegéticas para Lucas]]
[[Introducción a Juan]]
[[Notas Exegéticas para Juan]]
[[Introducción a Hechos]]
[[Notas Exegéticas para Hechos]]
[[Introducción a Romanos]]
[[Notas Exegéticas para Romanos]]
[[Introducción a 1 Corintios]]
[[Notas Exegéticas para 1 Corintios]]
[[Introducción a 2 Corintios]]
[[Notas Exegéticas para 2 Corintios]]
[[Introducción a Gálatas]]
[[Notas Exegéticas para Gálatas]]
[[Introducción a Efesios]]
[[Notas Exegéticas para Efesios]]
[[Introducción a Filipenses]]
[[Introducción a Colosenses]]
[[Introducción a 1 Tesalonicenses]]
[[Introducción a 2 Tesalonicenses]]
[[Introducción a 1 Timoteo]]
[[Introducción a 2 Timoteo]]
[[Introducción a Tito]]
[[Notas Exegéticas para Tito]]
[[Introducción a Filemón]]
[[Notas Exegéticas para Filemón]]
[[Introducción a Hebreos]]
[[Introducción a Santiago]]
[[Introducción a 1 Pedro]]
[[Introducción a 2 Pedro]]
[[Notas exegéticas para 2 Pedro]]
[[1 Juan]]
[[2 Juan]]
[[3 Juan]]
[[Introducción a Judas]]
[[Introducción a Apocalipsis]]
[[Notas Exegéticas para Apocalipsis]]
[[Índice|Nuevo Testamento]] [[Como usar]] [[Copias guardables|Enlaces a copias guardables]] [[Contacto]]
La Biblioteca Bíblica Giffmex es un portal que accesa datos de varios archivos en línea. Hay dos implicaciones importantes para su uso de la biblioteca:
#Los datos no se pueden accesar cuando ud. no está en línea.
#Los datos bíblicos no son editables desde este archivo. Todo lo que el tutorial dice acerca de editar archivos de TiddlyWiki no se aplica a la gran mayoría de este archivo.
Para tener copias guardables y editables de los diferentes recursos de esta biblioteca, haga clic [[aquí|Enlaces a copias guardables]].
[[Apocalipsis 1]]
[[Apocalipsis 2-3]]
[[Apocalipsis 4.1-8.1]]
[[Apocalipsis 8.2-11.19]]
[[Apocalipsis 12-14]]
[[Apocalipsis 15-16]]
[[Apocalipsis 17.1-19.5]]
[[Apocalipsis 19.6-20.15]]
[[Apocalipsis 21.1-22.5]]
[[Apocalipsis 22.6-21]]
[[Efesios 3.1-13]]
[[Efesios 4.7-10]]
[[Efesios 6.10-20]]
Todo es nuevo por el momento.
[[El trasfondo histórico del NT]]
[[Introducción a la Teología del NT]]
[[Aspectos literarios del NT]]
[[Introducciones y notas exegéticas para los libros del NT]]
<<option chkOpenInNewWindow>> AbreEnlacesEnVentanaNueva
<<option chkSaveEmptyTemplate>> CreaPlantillaNueva
<<option chkToggleLinks>> Hacer clic en enlaces a tiddlers que ya están abiertos, los cierran.
^^(desactívalo con Control u otra tecla modificadora)^^
<<option chkHttpReadOnly>> EscondaRedactando cuando abierto por HTTP
<<option chkForceMinorUpdate>> Trata redactos como CambiosMinores y preserva la fecha y tiempo
^^(desactívalo com la tecla Shift al hacer clik con el boton 'guardar' o por usando las teclas Ctrl-Shift-Enter^^
[[IncludeList]]
<!--{{{-->
<div id='header' class='header' macro='gradient vert #cc0000 #222266 '>
<div class='siteTitle' refresh='content' tiddler='SiteTitle'></div>
<span id='topMenu' refresh='content' tiddler='MainMenu'></span>
</div>
</div>
<div id='mainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
Biblioteca Bíblica Giffmex, NT
config.macros.closeAll.label="cerrar todos";
config.macros.closeAll.prompt="Cerrar todos los tiddlers abiertos (excepto los que se están editando)";
config.macros.permaview.label="permavista";
config.macros.permaview.prompt="Producir URL que hace cargar todos los tiddlers actualmente visibles";
config.macros.newTiddler.label="nuevo tiddler";
config.macros.newTiddler.prompt="Crear nuevo tiddler";
config.macros.newJournal.label="nuevo diario";
config.macros.newJournal.prompt="Crear nuevo tiddler estampado con la fecha actual";
config.macros.saveChanges.label = "guardar cambios";
config.macros.saveChanges.prompt = "Guardar todos los cambios a un archivo";
config.commands.saveTiddler.text="OK";
config.commands.saveTiddler.tooltip="Guardar cambios hechos a este Tiddler y cerrar";
config.commands.cancelTiddler.text="cancelar";
config.commands.cancelTiddler.tooltip="Deshacer cambios hechos a este Tiddler y cerrar";
config.commands.deleteTiddler.text="borrar";
config.commands.deleteTiddler.tooltip="Borrar este tiddler";
config.commands.deleteTiddler.warning="¿Borrar el tiddler '%0' ?"
config.commands.closeTiddler.text="cerrar";
config.commands.closeTiddler.tooltip="Cerrar este tiddler";
config.commands.closeOthers.text="cerrar los demás";
config.commands.closeOthers.tooltip="Cerrar todos los demás tiddlers ya abiertos";
config.commands.editTiddler.text="editar";
config.commands.editTiddler.tooltip="Editar este tiddler";
config.commands.editTiddler.readOnlyText="Ver"
config.commands.editTiddler.readOnlyTooltip="Ver la fuente de este tiddler"
config.commands.permalink.text="permaenlace";
config.commands.permalink.tooltip="Producir URL para este tiddler";
config.commands.references.text="referencias";
config.commands.references.tooltip="Mostrar los tiddlers que se enlacen a este tiddler";
config.commands.references.popupNone="Ningunas referencias";
config.commands.jump.text="saltar";
config.commands.jump.tooltip="Saltar a otro tiddler ya abierto";
config.views.wikified.tag.labelNoTags="ningunas etiquetas";
config.views.wikified.tag.labelTags="etiquetas: ";
config.views.wikified.tag.openTag="Abrir etiqueta '%0'";
config.views.wikified.tag.tooltip="Mostrar tiddlers con la etiqueta '%0'";
config.views.wikified.tag.openAllText="Abrir todos: ";
config.views.wikified.tag.openAllTooltip="Abrir todos estos tiddlers";
config.views.wikified.tag.popupNone="No hay otros tiddlers con la etiqueta '%0'";
config.views.wikified.defaultText="El tiddler '%0' todavía no existe. Haz doble-clic para crearlo.";
config.views.wikified.defaultModifier="(perdido)";
config.views.wikified.shadowModifier="(tiddler de sombra permanente)";
config.views.wikified.createdPrompt="creado";
config.views.editor.tagPrompt="Ingrese etiquetas separados con espacios [[encerrándolas con doble corchetes]] de ser necesario, o añada etiquetas ya existentes------>";
config.views.editor.defaultText="Ingrese el texto para '%0'";
config.views.editor.tagChooser.text="etiquetas";
config.views.editor.tagChooser.tooltip="Añada etiquetas ya existentes a este Tiddler";
config.views.editor.tagChooser.popupNone="No hay ningunas etiquetas existentes";
config.views.editor.tagChooser.tagTooltip="Añada la etiqueta '%0'";
config.macros.importTiddlers.wizardTitle="Importar Tiddlers de otro archivo TiddlyWiki";
config.macros.importTiddlers.step1="Primer paso: localizar el archivo TiddlyWiki";
config.macros.importTiddlers.step1prompt="Apuntar el URL o la ubicación del archivo aquí";
config.macros.importTiddlers.step1promptFile="...o navegar por el archivo aquí";
config.macros.importTiddlers.step1promptFeeds="...o seleccionar un 'feed' predefinido";
config.macros.importTiddlers.fetchLabel="Conseguir";
config.macros.importTiddlers.fetchPrompt="Presione para conseguir los Tiddlers del archivo";
config.macros.importTiddlers.step1feedPrompt="Escoger...";
config.macros.importTiddlers.step2="Segundo paso: Consiguiendo archivo TiddlyWiki...";
config.macros.importTiddlers.step2Text="Favor de esperar mientras el archivo se consigue desde: %0";
config.macros.importTiddlers.step3="Tercer paso: Eligir los tiddlers para importar";
config.macros.importTiddlers.step4="%0 tiddler(s) importado";
config.macros.importTiddlers.step5="Terminado";
config.macros.search.label="buscar";
config.macros.search.prompt="Buscar palabras en los tiddlers";
config.macros.search.accessKey="F";
config.macros.search.successMsg="%0 tiddlers contienen '%1'";
config.macros.search.failureMsg="0 tiddlers contienen '%0'";
config.macros.tagging.label="etiquetas:";
config.macros.tagging.labelNotTag="no etiquetas";
config.macros.tagging.tooltip="Lista de tiddlers con la etiqueta '%0' ";
config.messages.dates.months = ["enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre","diciembre"];
config.messages.dates.days = ["domingo", "lunes","martes", "miércoles", "jueves", "viernes", "sábado"];
config.shadowTiddlers.OptionsPanel = "'Estas opciones para personalizar TiddlyWiki están guardadas en tu navegador'\n\n'Tu nombre de usuario para firmar tus textos. Escríbelo como una PalabraWiki (por ej., JuanBloggs)'\n<<option txtUserName>>\n<<option chkSaveBackups>> GuardaRespaldos\n<<option chkAutoSave>> AutoGuardar\n<<option chkGenerateAnRssFeed>> GenerarUnArchivoRSS\n<<option chkRegExpSearch>> BuscaRegExp\n<<option chkCaseSensitiveSearch>> BúsquedaSensible\n<<option chkAnimate>> ActivarAnimaciones\n\n<<option plugins>> AdministradordePlugins\n\n<<option importTiddlers>> ImportarTiddlers\n\nOpcionesAvanzadas\n\n";
config.shadowTiddlers.SideBarTabs = "<<tabs txtMainTab Fecha 'Tiddlers cronológicamente' TabTimeline Título 'Tiddlers por título' TabAll 'Etiquetas' 'Tiddlers que estén etiquetados' TabTags 'Más' 'Más opciones' TabMore>>";
config.shadowTiddlers.TabMore = "<<tabs txtMoreTab 'perdidos' 'Tiddlers que no existen' TabMoreMissing 'huérfanos' 'Tiddlers que no han sido enlazados por ningún otro tiddler' TabMoreOrphans 'ocultos' 'Tiddlers ocultos usados para la operación de TW' TabMoreShadowed>>";
config.shadowTiddlers.OpcionesAvanzadas = "<<option chkOpenInNewWindow>> AbreEnlacesEnVentanaNueva\n<<option chkSaveEmptyTemplate>> CreaPlantillaNueva\n<<option chkToggleLinks>> Hacer clic en enlaces a tiddlers que ya están abiertos, los cierran.\n^^(desactívalo con Control u otra tecla modificadora)^^\n<<option chkHttpReadOnly>> EscondaRedactando cuando abierto por HTTP\n<<option chkForceMinorUpdate>> Trata redactos como CambiosMinores y preserva la fecha y tiempo\n^^(desactívalo com la tecla Shift al hacer clik con el boton 'guardar' o por usando las teclas Ctrl-Shift-Enter^^";
/*{{{*/
body {background:[[ColorPalette::PrimaryLight]]; color:[[ColorPalette::Foreground]];}
.button {color:[[ColorPalette::PrimaryPale]]; border:none;}
div.tiddler div.viewer {font-size:1.1em; padding-top: 0.5em; padding-bottom: 1em;}
.siteTitle {
padding-top:15px;
float:left;
font-family: 'Verdana', sans-serif;
font-size: 1.8em;
color: #ffccaa;
margin-right: 0.5em;margin-left:0.5em;
}
#topMenu br {display:none;}
#topMenu a, #topMenu .tiddlyLink, #topMenu .button {font-size: 1.1em; margin:0em; color:#ee7766; padding:10px 10px 10px 10px;padding-top:1.6em;border:none; border-right: 1px solid #ee7766;float:left;}
#topMenu {border-left: 1px solid #ee7766; float:left;margin:0;}
#topMenu a:hover {color:#fff;}
#mainMenu {background-color: #ee7766; font-weight: bold; margin-top: 12px; text-align: left;}
#mainMenu .tiddlyLinkExisting, #mainMenu .tiddlyLinkNonExisting {font-weight: bold;}
#mainMenu {
position: absolute;
left: 0;
width: 0;
text-align: right;
line-height: 0;
padding: 0;
font-size: 0;
}
.tiddler {padding: 1em 1em 1em 1em;
margin-bottom: 0.5em ! important; background: #fff;}
.title {color: #0000bb; border-bottom:1px solid #ccc;}
.viewer { margin-top: 1em; line-height: 1.7em;}
#displayArea .tiddlyLinkExisting {font-weight:bold; color: #0000bb;}
#displayArea .tiddlyLinkNonExisting {font-style:italic;color: #0000bb;}
#displayArea {margin:1em 17em 0em 1em;}
h1,h2,h3,h4,h5,h6 {color: #000000; font-size: 1.3em; font-weight: bold; background-color:[[ColorPalette::TertiaryPale]];}
h1 {border-bottom: none;}
h2,h3 {border-bottom: none;}
/*(1) Changes table header text color to black */
.viewer th, thead td {
color: #000;
}
/* (2) Makes text verdana. */
body {
font-family: verdana;
}
/* (8) Makes ordered and unordered lists double-spaced between items but single-spaced within items. */
.viewer li {
padding-top: 0.5em;
padding-bottom: 0.5em;
}
/*GREEK*/
.viewer em {
font-family: Palatino Linotype;
font-style: normal;
font-size: 150%;
}
.greek { font-family: Palatino Linotype; font-style: normal; font-size: 150%; }
/* (10) Hides the bar in blockquotes. */
.viewer blockquote {
line-height: 1em;
margin-left: 2.5em;
border-left: 0px;
}
.tabSelected{color:#000000;}
/*Invisible tables*/
.viewer .invisibletable table { border-color: white;}
.viewer .invisibletable table td {
font-size: 1em;
font-family: Verdana;
border-color: white;
padding: 10px 20px 10px 0px;
text-align: left;
vertical-align: top;
}
.viewer .invisibletable table th {
color: #005566;
background-color: white;
border-color: white;
font-family: Verdana;
font-size: 1.2em;
font-weight: bold;
padding: 10px 20px 10px 0px;
text-align: left;
vertical-align: top;
}
/*PRINTING*/
@media print {
#mainMenu {display: none ! important;}
#topMenu {display: none ! important;}
#sidebar {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em !important;}
#messageArea {display: none ! important;}
.toolbar {display: none ! important;}
.header {display: none ! important;}
.tiddler .subtitle {display: none ! important;}
.tiddler .toolbar {display: none ! important; }
.tiddler .tagging {display: none ! important; }
.tiddler .tagged {display: none ! important; }
body {background-color: transparent;}
}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::PrimaryPale]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::PrimaryPale]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::PrimaryPale]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::PrimaryPale]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::PrimaryPale]]; border:none;}
#backstagePanel {background:[[ColorPalette::PrimaryPale]]; border-color: [[ColorPalette::PrimaryPale]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::PrimaryPale]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
Include the tiddlers of an external TiddlyWiki into the current TiddlyWiki.
''Syntax''
|>|{{{<<}}}''include'' [''url:''] //tiddlyWikiPath// [''delay:'' //delayDuration//] [''hide:'' //hideFlag//]{{{>>}}}|
|//tiddlyWikiPath//|The path to the TiddlyWiki to include.<<br>>This may be a relative path, an absolute local file path, or a "file:", "http:" or "https:" URL)|
|//delayDuration//|Integer. Defines the number of milliseconds (thousands of a second) to wait before actually including the TiddlyWiki. By default a TiddlyWiki is included immediately when the TiddlyWiki starts.|
|//hideFlag//|When "{{{true}}}" the "include" macro is not displayed in the tiddler.|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
''Examples''
{{{
<<include "http://tiddlywiki.abego-software.de/index.html">>
<<include "C:\TiddlyWiki\shared\TiddlyWikiHelp.html">>
<<include "file://C:/Private/journals/2006-12.html" delay: 8000 >>
<<include "test/sample33.html">>
}}}
''Notes''
* For security reasons it may not be possible to include some TiddlyWikis. Especially you cannot access a TiddlyWiki on a different website when running your TiddlyWiki on your webserver (the so-called "Cross-Site Scripting" issue). Nevertheless you can access TiddlyWikis on various websites if you are running your TiddlyWiki locally. And you may refer to other Wikis on your own site.
* The macro may be placed in any tiddler, but it is recommended to put them into the "IncludeList" tiddler. The includes listed in the "IncludeList" are processed at TiddlyWiki startup. An include defined in a different tiddler are processed the first time the tiddler is displayed. The order the include macros are processed is used when [[looking for a tiddler|How Tiddlers are found]].
Displays the list of "included" TiddlyWikis, together with their "load state". I.e. you can see if the TiddlyWiki is already loaded (include), if there was an error (e.g. the TiddlyWiki to include was not found) etc.
''Syntax:''
|>|{{{<<}}}''includeState''{{{>>}}}|
The TiddlyWikis are listed in the order they are checked for tiddlers (see [[How Tiddlers are found]])
The (shadow) tiddler "IncludeState" contains this macro, i.e. you can view that tiddler to see the current include state.
See also: [[The "include" Macro]].
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
Ingrese el texto para 'New Tiddler'