Hores d'ara és impossible connectar amb CAP de les pàgines que pengen del servidors que gestiona la Xtec:\n*[[Xtec.cat|http://xtec.cat]]\n*[[Phobos|http://phobos.xtec.cat]]\n*[[Phantom|http://phantom.xtec.cat]]\n*[[Espiral|http://espiral.xtec.cat]]\n*[[AEIC|http://aeic.xtec.cat]]\n*[[EVIFA|http://evifa.xtec.cat]]\n*Tots els servidors dels centres, totes les pàgines personals... i el correu de la Xtec!\n\nAra ja no és únicament el phobos, ara és tota la xarxa!\n\nAixò suposa, per exemple, que la gent del COMPETIC, que treballem a marxes forçades per tenir preparats pel setembre els materials de competències bàsiques en TIC per als centres de formació d'adults, hem d'estar incomunicats entre nosaltres, amb l'espai compartit a l'EVIFA i amb el servidor on pugem els materials.\n\nTota la xarxa educativa constipada... potser haurem de seguir els consells de més d'un, que un servidor a casa serà més fiable!\n\n
Ja hi ha gent que se n'ha anat de vacances! Sembla que tothom va llençadíssim: els haurien de fer la prova de l'antidoping!\n\nQuan m'encallo no sé deixar-ho i hi perdo molt temps, i al final he d'abandonar...\n\nSegueixo la meva rutina. Intento fer alguna pràctica. Intervinc als fòrums. Començo a situar-me. Li agafo el gust al Curs... !
!Curs Web 2.0\n- [[Diccionari desordenat|http://xtec.cat/~jfontich/tw.html]]\nSegueixo amb les pràctiques endarrerides:\n- Presentació: [[Els aliments: classificació...]] L'he presentat a temps!\n- Exercici de formatat de la tipografia\n- He estat remenant dels fulls d'estil... \n\n
''Pràctiques del Curs TW''\n*__Endarrerides__\n**P2- @@color(#FF6600):==Aplicació didàctica==@@: [[Els aliments]]\n**P3- @@color(#FF6600):Calendari. Festius.@@\n**P4- @@color(#FF6600):Connector ~TriaTema i ~ColorTweaker@@^^important^^\n*Caducarà aviat:\n**P6- @@color(#FF9933):==Formatat de text==@@:[[12 Juliol 2006]]\n*//Avui//:\n**P7- @@color(#339900):Taules@@\n*Anar mirant:\n**P8- @@color(#0066CC):Conceptes. ~TriaIdioma. RSS@@\n*Anar fent:\n**P9- @@bgcolor(#FF9933):''Diari del curs''@@~~Repassar!~~\n\nVaig marejant la perdiu i m'endarrereixo. Això del TW realment és inabarcable. \nAcabo d'instal·lar el ~tagCloud.\nNo he pogut instal·lar el ~colorTweaker\nHe remenat una mica el ~OpcionsDeBarraLateral\n\nHe aconseguit finalitzar la pràctica de l'aplicació didàctica! He suat, però ho he aconseguit. He perdut un munt de temps amb el [[Gliffy|http://www.gliffy.com]]. després de fer el mapa conceptual, els enllaços no funcionaven... Després d'intentar treballar amb l'ordinador vell, he hagut de reiniciar l'ordinador i arrencar l'XP, on hi tinc una versió vella del CMaps. La neurona que em queda no acaba de fer les sinapsis correctament i no recordava com es feien els enllaços des dels conceptes al TW... En fi, al final ho he aconseguit, encara no sé com! Reinicio la Mandriva i acabo la pràctica. Ho he aconseguit.\n\nLa idea de lligar la potencia dels mapes conceptuals amb el TW ja feia dies que em rondava pel cap... Ho hauré de polir. Pot-ser necessitaré un TW penjat a un servidor. Ho hauré d'estudiar.\n\n\nContinuo amb les pràctiques. Formato text. \nContinuo amb les pràctiques. Intento instal·lar el connector ColorTweak. Em surt ful.\n\nM'encallo amb unes quantes coses més. \n\nFaig la pràctica de l'agenda. A la meva manera. Realment l'agenda és molt potent. Hi podria penjar la feina diària dels alumnes. I fins i tot la meva! Configuro festes. \n\nQuan les coses van rodades...\n
''Pràctiques del Curs TW''\n*__Endarrerides__\n**P2- @@color(#FF6600):==Aplicació didàctica==@@: [[Els aliments]]\n**P3- @@color(#FF6600):Calendari. Festius.@@\n**P4- @@color(#FF6600):Connector ~TriaTema i ~ColorTweaker@@^^important^^\n*Caducarà aviat:\n**P6- @@color(#FF9933):==Formatat de text==@@:[[12 Juliol 2006]]\n*//Avui//:\n**P7- @@color(#339900):Taules@@\n*Anar mirant:\n**P8- @@color(#0066CC):Conceptes. ~TriaIdioma. RSS@@\n*Anar fent:\n**P9- @@bgcolor(#FF9933):''Diari del curs''@@~~Repassar!~~\n\nVaig marejant la perdiu i m'endarrereixo. Això del TW realment és inabarcable. \nAcabo d'instal·lar el ~tagCloud.\nNo he pogut instal·lar el ~colorTweaker\nHe remenat una mica el ~OpcionsDeBarraLateral\n\nHe aconseguit finalitzar la pràctica de l'aplicació didàctica! He suat, però ho he aconseguit. He perdut un munt de temps amb el [[Gliffy|http://www.gliffy.com]]. després de fer el mapa conceptual, els enllaços no funcionaven... Després d'intentar treballar amb l'ordinador vell, he hagut de reiniciar l'ordinador i arrencar l'XP, on hi tinc una versió vella del CMaps. La neurona que em queda no acaba de fer les sinapsis correctament i no recordava com es feien els enllaços des dels conceptes al TW... En fi, al final ho he aconseguit, encara no sé com! Reinicio la Mandriva i acabo la pràctica. Ho he aconseguit.\n\nLa idea de lligar la potencia dels mapes conceptuals amb el TW ja feia dies que em rondava pel cap... Ho hauré de polir. Pot-ser necessitaré un TW penjat a un servidor. Ho hauré d'estudiar.\n\n\nContinuo amb les pràctiques. Formato text. \nContinuo amb les pràctiques. Intento instal·lar el connector ColorTweak. Em surt ful.\n\nM'encallo amb unes quantes coses més. \n\nFaig la pràctica de l'agenda. A la meva manera. Realment l'agenda és molt potent. Hi podria penjar la feina diària dels alumnes. I fins i tot la meva! Configuro festes. \n\nQuan les coses van rodades...\n
Comença el Curs TW. M'hi poso quan arribo a casa... una mica, molt poquet. La feina amb el Campus Virtual m'absorveix totes les hores...\n\nL'Elisenda està que treu fum...! porta tot el dia i no ha aconseguit res. Està esgotada i sembla que vol engegar-ho tot a dida. L'animo a descansar. Hem xerrat per telèfon! Em sembla que li ha anat bé parlar amb algú real a l'altre costat del fil. Si és que en realitat som animals socials.
El curs de l'EE de FPA i l'administració del Campus Virtual no em deixen hores per dedicar-les al Curs TW. La gent del curs va molt llençada!\nJa hi ha gent que ha fet la pràctica de demà! Em sembla que no podré seguir el ritme.\nL'Elisenda sembla que ho porta millor. Me n'alegro que no ho hagi deixat. Tinc la impresió que és del tipus de persones que hi posa... allò que s'hi ha de posar!\n\nDeixo el Curs una mica de banda...
El correu està que es fon... no paro de llegir missatges que no entenc. L'activitat del curs és frenètica i jo estic una mica despenjat. Remeno el TW més que fer les pràctiques... el poc temps que hi puc dedicar.
La meva relació amb el TW ja comença a ser distant. Em sembla una eina molt bona i, alhora, indomable. Vaig fent, sense concretar res.
Avui ha acabat l'EE FPA 06! \nPer què el Songoku es passeja amb el Follet Tortuga carregat a l'esquena? Per cap raó en concret, però quan el descarrega, quin alleujament!\n\nAixò és el que m'ha passat a mi amb l'administració del Campus Virtual...! Quin alleujament. Torno a recuperar forces per llençar-me de cap al TW.
Paella familiar. Tot el dia fent el gos, menjant i bevent... D'això se'n diu recuperar forces. Torno a ser jo!
Marató TW. Sense centrar-me gaire en les pràctiques començo a fer el que faig sempre que em cau a les mans qualsevol eina: remenar, remenar, remenar.\n\nComenço a crear tiddlers. Com es diferencien els tiddlers dels diaris?\nPersonalitzo el menú. Això funciona! Descobreixo les etiquetes especials. \n\nParo per dinar. Torno tard. Segueixo remenant fins ben entrada la matinada...
<<calendar>>
Per què actualitzar TW?\n\nPotser l'únic motiu és que trobis un connector que t'interessa, que necessita una versió més actual que la que fas servir a la teva web.\n\nA part d'això, teòricament també podria sortir alguna versió que millorés algún punt feble o problema de seguretat.\n\nIntroducció\nQuan vaig començar a treballar amb TW, el 19 d'abril de 2006, estava a la versió 2.0.8 i no hi havia versió en català.\n\nAbans que vaig acabar de revisar la primera versió definitiva de la versió de TW en català, TW ja havia avançat alguna versió.\n\nAixí és que he actualitzat molts TWs des de llavors de moltes formes diferents, i penso que la manera més senzilla és fent servir dos connectors, que es diuen ExportPlugin i ImportPlugin (en anglés).\n\nActualitzar amb ExportPlugin i ImportPlugin\n\n 1. Baixa la nova versió de TW a la que vols actualitzar\n 2. Baixa els dos connectors: ExportPlugin i ImportPlugin\n 3. Instal·la el connector ExportPlugin a la teva web\n 4. Instal·la el connector ImportPlugin a la nova versió de TW\n 5. Obre la teva web i exporta tots els tiddlers, seguint les instruccions del connector. Això genera un arxiu amb els tiddlers.\n 6. Obre la teva web i importa l'arxiu anterior amb tots els tiddlers, seguint les instruccions del connector.\n
Vaig conèixer TW a començaments d'any. Desseguida vaig "intentar" remenar-lo. La pròpia dinàmica del dia a dia va obligar-me a deixar-ho per més endavant...\n\nAra me n'adono que el TW que he instal·lat al curs és la versió que em vaig baixar en aquell moment, i no pas la darrera! \n\nCom que tard o d'hora sortiran versions posteriors i hauré d'aprendre a actualitzar, doncs vull intentar això: actualitzar a 2.0.11.\n\nUna cerca d'informació em duu a www.pacoriviere.cat on sembla que el Paco em pot donar alguna pista. Desgraciadament en aquest moment sembla que el seu servidor s'ha constipat i no puc accedir a la pàgina. Ho intentaré en un altre moment. Mentrestant seguiré buscant...
Finalment he pogut carregar la pàgina www.pacoriviere.cat. \n\nNo hi he trobat cap informació de com actualitzar versions de TW. Ara bé m'he fet un fart de remenar tiddlers. Ha estat una visita molt productiva!
''Com actualitzar la versió de TiddlyWiki en català'':\n\nEs recomana treballar sempre amb la darrera versió de CatalanLingo.\n\n!Instruccions\n* Copia el [[contingut d'aquest tiddler|CatalanLingo]], al tiddler ''~CatalanLingo'' del teu TiddlyWiki i ''desa els canvis''.\n* Només cal seguir aquestes instruccions si ja has afegit continguts (tiddlers) al teu TiddlyWiki. Per començar un nou TiddlyWiki clica [[aquí|BaixaElProgramari]].\n\n!Nota tècnica\nLa versió catalana de TiddlyWiki està formada per dues entitats separades, el que facilita l'actualizació del codi i de la traducció de forma independent:\n* El codi (en anglés) que es troba aquí: http://www.tiddlywiki.com/empty.html\n* La traducció al català, que es troba aquí: http://www.xtec.cat/~friviere/TiddlyWiki.html#CatalanLingo\nPer disposar de la darrera versió en anglés traduïda al català, només cal baixar els dos arxius anteriors i combinar-los seguint les Instruccions anteriors.\n\n!Versions\n1.0.0 5-5-2006 - Primera versió pública\n1.0.1 13-5-2006 - Petites correccions\n1.0.2 14-5-2006 - Connector Calendari\n1.0.3 15-5-2006 - Connector TriaTema i com ActualitzarCatalanLingo\n
<<slider chkFormatText [[Format de text, imatges i taules]]"Com es dóna format al text, s'inclouen imatges i es fan taules?" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkCaractEsp [[Com es fa per posar caràcters especials]] "Com es fa per posar caràcters especials" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkActualitzarTW [[Com actualitzar TW a una nova versió]] "Com actualitzar TW a una nova versió" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkTriaTema [[TriaTema]] "Com instal·lar el TriaTema" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkColors [[Colors]] "Quins són els codis dels colors?" "Clica aquí per obrir o tancar la resposta">>
<<slider chkNoBotoEdita [[No em surt el botó edita]] "No em surt el botó edita" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkNoBotoEdita [[No em surt el botó desa els canvis]] "No em surt el botó desa els canvis" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkMissaNoModif [[Em surt un missatge que diu que no puc modificar TiddlyWiki]] "Em surt un missatge que diu que no puc modificar TiddlyWiki" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkNoDesatBe [[La plantilla no s'ha desat bé]] "La plantilla no s'ha desat bé" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkNoBotoEdita [[He pujat la pàgina i no es veu bé!]] "He pujat la pàgina i no es veu bé!" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkActualitzarCatalanLingo ActualitzarCatalanLingo "Com actualitzar la versió de TiddlyWiki al Català" "Clica aquí per obrir o tancar la resposta">>
Quan podem dir que un aliment està elaborat?\nFes una llista dels aliments elaborats que conèixes. \n
Quan diem que un aliment no està elaborat?\nFes una llista dels aliments no elaborats que conèixes.
/***\n|''Name:''|ArchivedTimeline|\n|''Version:''|0.5.1 (Jun 04, 2006)|\n|''Source:''|https://sourceforge.net/projects/ptw/|\n|''Author:''|BramChen|\n|''Type:''|Macro|\n!Description\nTimeline archived monthly.\n!Syntax/Examples\n>{{{<<timeline [modified | created]>>}}}\n\n!Known issues/Todos\n* \n\n!Instructions\n\n!Notes\n*\n!Revision history\n* v0.5.1 (Jun 04, 2006)\n** Added config.macros.archivedTimeline.orderBy, for localization. \n* v0.5.0 (Apr 19, 2006)\n** Fixed bug for twice records of the same date ()\n** Added Date.prototype.convertToLocalYYYYMMDDHHMM for backward compatible with 2.0.6-\n* v0.4.0 (Apr 03, 2006)\n** Added new parameter to <<timeline sortfield maxentries>>\n** Added config.options.txtTimelineMaxentries\n* v0.3.1 (Feb 04, 2006)\n** JSLint checked\n* v0.3.0 (Feb 04, 2006)\n** Fixed several missing variable declarations\n* v0.2.0 (Dec 26, 2005)\n** changed for the new feature of Macro timeline of TW 2.0.0 beta 6\n* v0.1.0 (Nov 3, 2005)\n** Initial release.\n\n!Code\n***/\n//{{{\nversion.extensions.archivedTimeline = {major: 0, minor: 5, revision: 1,\n date: new Date("Jun 04, 2006"),\n name: "ArchivedTimeline",\n type: "Macro",\n author: "BramChen",\n source: "http://sourceforge.net/project/showfiles.php?group_id=150646"\n};\nconfig.options.txtTimelineMaxentries=0;\nconfig.macros.archivedTimeline = {\n tooltips: "Arxius: ",\n orderBy:{modified: "modificats el mes", created: "creats el mes"},\n msg : "El paràmetre de la macro timeline ha de ser 'creats el mes' o 'modificats el mes'",\n dateFormat: "YYYY0MM0DD"\n};\nconfig.macros.timeline = config.macros.archivedTimeline;\n\nconfig.macros.timeline.handler = function(place,macroName,params) {\n var field = params[0] ? params[0] : "modified";\n if (field != "modified" && field != "created") {\n displayMessage(config.macros.timeline.msg);\n return;\n }\n place.appendChild(document.createTextNode(this.tooltips + this.orderBy[field]));\n var tiddlers = store.reverseLookup("tags","excludeLists",false,field);\n var lastMonth = ""; var lastDay = ""; var theText = "----\sn"; var i = 0;\n var last = (params[1])?params[1]:config.options.txtTimelineMaxentries;\n last = (isNaN(last)||last<1) ? 0:tiddlers.length-Math.min(tiddlers.length,parseInt(last));\n var cookie; var archives;\n for (var t=tiddlers.length-1; t>=last; t--) {\n var tiddler = tiddlers[t];\n var theMonth = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,6);\n var theDay = tiddler[field].convertToLocalYYYYMMDDHHMM().substr(0,8);\n if(theMonth != lastMonth) {\n if (lastMonth === "") {\n lastMonth = theMonth;\n }\n else {\n place.appendChild(document.createElement("hr"));\n cookie = 'chktimeline'+(i++);\n archives = this.formatString(this.dateFormat, lastMonth);\n this.slider(place,cookie,theText,archives,this.tooltips + archives);\n lastMonth = theMonth; theText = "----\sn";\n }\n }\n if(theDay != lastDay){\n theText += tiddler[field].formatString(this.dateFormat) + '\sn';\n lastDay = theDay; \n }\n theText += '* [[' + tiddler.title + ']]\sn';\n }\n place.appendChild(document.createElement("hr"));\n cookie = 'chktimeline'+(i++);\n archives = this.formatString(this.dateFormat, lastMonth);\n this.slider(place,cookie,theText,archives,this.tooltips + archives);\n place.appendChild(document.createElement("hr"));\n};\n\nconfig.macros.timeline.onClickSlider = config.macros.slider.onClickSlider;\n\nconfig.macros.timeline.slider = function(place,cookie,text,id,tooltips)\n{\n var btn = createTiddlyButton(place,id,tooltips,this.onClickSlider);\n var panel = createTiddlyElement(place,"div",null,"timelineSliderPanel",null);\n panel.setAttribute("cookie",cookie);\n panel.style.display = config.options[cookie] ? "block" : "none";\n if(text){\n wikify(text,panel);\n }\n};\n\nconfig.macros.timeline.formatString = function(template, yyyymm)\n{\n var dateString = new Date(yyyymm.substr(0,4)+'/'+yyyymm.substr(4,2)+'/01');\n template = template.replace(/DDD|0DD|DD|hh|mm|ss/g,'');\n return dateString.formatString(template);\n};\nif (!Date.prototype.convertToLocalYYYYMMDDHHMM){\n Date.prototype.convertToLocalYYYYMMDDHHMM = function(){\n return(String.zeroPad(this.getFullYear(),4) + String.zeroPad(this.getMonth()+1,2) + String.zeroPad(this.getDate(),2) + String.zeroPad(this.getHours(),2) + String.zeroPad(this.getMinutes(),2));\n }\n}\n//}}}
/***\n''Auto Tagger Plugin for TiddlyWiki version 1.2.x and 2.0''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#AutoTaggerPlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nAutomatically tag tiddlers with their original creation date and author and optionally scan the tiddler content for any tags that are embedded as text. Makes cross-referencing your tiddlers a snap!\n\n!!!!!Usage\n<<<\nWhen ~AutoTagger is present, it automatically ''generates 'creation date' and 'creator' tag values'' for all newly created tiddlers, so that this information is retained even after a tiddler has been updated many times. In addition, if you enter ''//auto//'' as a tiddler tag value, ~AutoTagger ''scans the tiddler content'' (including title) for all existing tags, and ''automatically adds any embedded tags that it finds''.\n\nAfter they have been added to the tiddler, the new tags are treated just as if you had entered them by hand and can be edited to make any changes you want. Of course, as long as the "auto" tag is still present on a tiddler, ~AutoTagger will re-scan that tiddler's content each time it is edited. If you DO edit the generated tags, you can remove the "auto" tag from the tiddler to prevent it from being re-scanned when you press 'done' to finish editing.\n\n//Note: the special-purpose ''"systemConfig" tag is not added automatically, even if matched in the tiddler content'', since this tag should be added manually to ensure it is always used appropriately.//\n\n//Note: if you have set the "auto" tag on a tiddler, and then add several tags to your document, those tags will ''not'' be automatically added to the tiddler until you actually edit that tiddler and press 'done' to trigger an AutoTagger scan.//\n<<<\n!!!!!Configuration\n<<<\nThe ~AutoTagger plugin comes with a ''self-contained control panel''. Use these controls to enable or disable automatic 'creation date' or 'creator' tagging, modify the default date formatting, or redefine the special 'scan trigger' tag value (so you can use "auto" as a normal tag value in your document).\n\n<<option chkAutoTagAuthor>> add 'created by' tag //(when a tiddler is first created)//\n<<option chkAutoTagDate>> add 'creation date' tag, using date format: <<option txtAutoTagFormat>>\n<<option chkAutoTagEditor>> add 'edited by' tag //(when a tiddler is updated)//\nscan tiddler content for new tags when tagged with: <<option txtAutoTagTrigger>>\n----\n//date formatting syntax://\n^^//''DDD'' - day of week in full (eg, "Monday"), ''DD'' - day of month, ''0DD'' - adds leading zero//^^\n^^//''MMM'' - month in full (eg, "July"), ''MM'' - month number, ''0MM'' - adds leading zero//^^\n^^//''YYYY'' - full year, ''YY'' - two digit year//^^\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''AutoTaggerPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.05.31 [1.3.1]'' Re-assemble tags into a space-separated string (use encodeTiddlyLink to add {{{[[...]]}}} as needed) before passing it on to core (or other hijacked function)\n''2005.10.09 [1.3.0]'' Added 'edited by' tagging. Combined documentation and code into a single tiddler\n''2005.08.16 [1.2.0]'' Added optional scanning for tags in tiddler content (based on suggestion from Jacques Turbé)\n''2005.08.15 [1.1.0]'' Added 'created by' tag generation (based on suggestion from Elise Springer). Renamed from DateTag to AutoTagger\n''2005.08.15 [1.0.0]'' Initial Release\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]].\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.autoTagger = {major: 1, minor: 3, revision: 1, date: new Date(2006,5,31)};\n\nif (config.options.chkAutoTagDate==undefined)\n config.options.chkAutoTagDate=false;\nif (config.options.chkAutoTagEditor==undefined)\n config.options.chkAutoTagEditor=false;\nif (config.options.chkAutoTagAuthor==undefined)\n config.options.chkAutoTagAuthor=false;\nif (config.options.txtAutoTagTrigger==undefined)\n config.options.txtAutoTagTrigger="auto";\nif (config.options.txtAutoTagFormat==undefined)\n config.options.txtAutoTagFormat="YYYY.0MM.0DD";\n\n// hijack store.saveTiddler()\nstore.coreSaveTiddler = store.saveTiddler;\nstore.saveTiddler = function(title,newTitle,newBody,modifier,modified,tags)\n{\n // get the tags as passed from the tiddler editor\n var newTags = [];\n if (tags) newTags = (typeof tags == "string") ? tags.readBracketedList() : tags;\n\n // if saving a new tiddler, add 'creation date' tag\n if (config.options.chkAutoTagDate && (store.getTiddler(title)==undefined))\n newTags.pushUnique(new Date().formatString(config.options.txtAutoTagFormat));\n // if saving a new tiddler, add 'created by' tag\n if (config.options.chkAutoTagAuthor && (store.getTiddler(title)==undefined))\n newTags.pushUnique(config.options.txtUserName);\n // if saving an existing tiddler, add 'edited by' tag\n if (config.options.chkAutoTagEditor && (store.getTiddler(title)))\n newTags.pushUnique(config.options.txtUserName);\n\n // if tagged for scanning, find tags embedded in text of tiddler title/body\n var allTags = store.getTags();\n if ((config.options.txtAutoTagTrigger!="") && (newTags.find(config.options.txtAutoTagTrigger)!=null))\n for (var t=0; t<allTags.length; t++)\n {\n // note: don't automatically tag a tiddler with 'systemConfig' or 'systemTiddler'\n if ((allTags[t][0]=='systemConfig') || (allTags[t][0]=='systemTiddler'))\n continue;\n if ((newBody.indexOf(allTags[t][0])!=-1) || (newTitle.indexOf(allTags[t][0])!=-1))\n newTags.pushUnique(allTags[t][0]);\n }\n\n // encode tags with [[...]] (as needed)\n for (var t=0; t<newTags.length; t++) newTags[t]=String.encodeTiddlyLink(newTags[t]);\n\n // reassemble tags into a string (for other plugins that require a string) and pass it all on\n return store.coreSaveTiddler(title,newTitle,newBody,modifier,modified,newTags.join(" "));\n}\n//}}}
Anem a baixar una còpia de TiddlyWiki que tú podràs modificar al teu ordinador.\n\nClica [[aquí|http://www.xtec.cat/~friviere/TiddlyWiki.html]] amb el botó dret del ratolí i tria ''Desa l'enllaç al disc''. (No obris la pàgina).\n\nA partir d'aquí ja pots obrir la pàgina al teu navegador, modificar-la i omplir-la de contingut. Pots fer-la servir al teu ordinador o pujar-la a internet i compartir-la.\n\nAquí trobaràs una [[èxplicació més detallada|http://www.xtec.cat/~friviere/20minuts.html]]
Benvinguts a "El diccionari desordenat". \n\nLa idea del títol l'he recuperada d'un wiki-bitàcola que vaig començar a fer enllà l'any 1997 i que va durar uns 4 o 5 anys, encara que jo llavors no sabia que fos un wiki ni una bitàcola ni tampoc sabia el què era un wiki o una bitàcola... \n\nLa qüestió és que ho feia amb M$Word format doc enllaçant les entrades amb hipervincles d'un document a l'altre... Una bogeria! Eps... i tot en local: un divertimento personal.\n\nFa pocs dies he recuperat els arxius que ja havia abandonat en el disc dur d'un antic Pentium MMX 233... i, nostàlgic, jo, en reciclo el nom!
/***\n|Name|BigThemePack|\n|Created by|SimonBaird & SaqImtiaz|\n|Location|http://simonbaird.com/mptw/#BigThemePack|\n|Version|0.1.1|\n|Requires|SelectThemePlugin|\n!Uninstallation Notes:\n*Make sure that you set your theme as default or none, before deleting the theme pack.\n\n!Usage:\n<<themeSelect style 'Select Theme'>>\n\n***/\n//{{{\nif (!config.themes) config.themes = [];\n//}}}\n/***\n!!~MonkyMind themes\nThe following themes were created by Robert Lindsay from http://www.monkymind.org/\n***/\n//{{{\n\nconfig.shadowTiddlers.Berry2StyleSheet = "<!--- [[Berry 2|StyleSheet]] with ideas shamesslessly taken from (and suggested by) Simon Baird, Clint Checketts and Christine Hodges --->\sn\sn/*{{{*/\sn.headerForeground { display: none;}\sn#sidebar {width: 170px; background: #efefef;border-left: solid 2px #b8b9c7;border-top: solid 2px #d7d8e8;}\sn#sidebarTabs .tabContents {width: 158px; background: #eae9ee;font-weight: bold; color: #333 ;}\sn#sidebarOptions input { border: solid 2px #b8b9c7; }\sn#sidebarOptions .sliderPanel { background: #eee;}\sn#sidebarOptions a {;border: none;}\sn#sidebarOptions .sliderPanel a {border: none;color: #5c4894;}\sn#displayArea {background: #fff;margin: 1em 15.7em 0em 1em;border-left: solid 2px #b8b9c7;}\sn.viewer {line-height: 1.4em;padding-bottom: 1em;border-bottom:solid 1px #b8b9c7;}\sn.viewer th, thead td {background: #5d4b97;border: 1px solid #666;color: #fff;}\sn.title {color: #000}\snh1,h2,h3,h4,h5 {color: #fff;background: #6b69ad;}\sna{ color: #700126;}\sna:hover{ background: #6b69ad; color: #fff;font-weight: bold;}\sn.externalLink { text-decoration: underline; color: #000083;}\snbody { background: #d7d8e8;}\sn.popup { background: #6b69ad; border: 1px solid #04b;}\sn.popup li a:hover {background: #d7d8e8;color: #000;border: none;}\sn.popup li.disabled {color: #000;}\sn.button:hover {color: #fff;background: #6b69ad;\sn border: 1px solid #d7d8e8;}\sn#topMenu { background: transparent; padding: 6px;margin-left: -5px;border-bottom: solid 3px #5c4894;}\sn#topMenu .button, #topMenu .tiddlyLink, tiddlyLinkExisting, #topMenu .externalLink\sn{\sn color: #fff;\sn text-align: center;\sn font-weight: bold;\sn font-size: 1.1em;\sn text-decoration: none;\sn letter-spacing: 1.5px;\sn background: transparent;\sn border-right: solid 1px #fff;\sn padding: 5px 15px 8px 15px;\sn}\sn#topMenu a:hover {\sn color: #700126;\sn background: #d7d8e8;\sn}\sn#topMenu br {display: none; padding-right: 1em;}\sn\sn\sn/*}}}*/";\n\nconfig.shadowTiddlers.Berry2PageTemplate = "<!--- More ideas shamesslessly begged, borrowed or stolen from..... Simon Baird, Clint Checketts and Christine Hodges :)) --->\sn<!--{{{-->\sn<div class='header' macro=\s"gradient vert #5c4894 #6b69ad\s">\sn <div id='topMenu'>\sn <span refresh='content' tiddler='SiteTitle'></span><span refresh='content' tiddler='MainMenu'></span></div>\sn </div>\sn</div> \sn<div id='sidebar'>\sn <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn <div id='messageArea'></div>\sn <div id='tiddlerDisplay'></div>\sn</div>\sn<!--}}}-->\sn";\n\nconfig.themes.push("Berry2");\n\n\nconfig.shadowTiddlers.Blueberry2StyleSheet = "<!--- [[Blueberry 2|StyleSheet]] with ideas shamesslessly taken from (and suggested by) Simon Baird, Clint Checketts and Christine Hodges --->\sn\sn/*{{{*/\sn.headerForeground { display: none;}\sn#sidebar {width: 171px; background: #e7ecee;border-left: solid 2px #8895bb;border-top: solid 2px #97a8d2;}\sn#sidebarTabs .tabContents {width: 158px; background: #dce1e3;font-weight: bold; color: #333 ;}\sn#sidebarOptions input { border: solid 2px #8895bb; }\sn#sidebarOptions .sliderPanel { background: #eee;}\sn#sidebarOptions a {;border: none;}\sn#sidebarOptions .sliderPanel a {border: none;color: #00005a;}\sn#displayArea {background: #fff;margin: 1em 15.7em 0em 1em;border-left: solid 2px #8895bb;}\sn.viewer {line-height: 1.4em;padding-bottom: 1em;border-bottom:solid 1px #dedede;}\sn.viewer th, thead td {background: #00009d;border: 1px solid #666;color: #fff;}\sn.title {color: #000}\snh1,h2,h3,h4,h5 {color: #fff;background: #00009d;}\sna{ color: #00005a;}\sna:hover{ background: #00009d; color: #fff;font-weight: bold;}\sn.externalLink { text-decoration: underline; color: #000083;}\snbody { background: #97a8d2;}\sn.popup { background: #04b; border: 1px solid #04b;}\sn.popup li a:hover {background: #dedede;color: #000083;border: none;}\sn.popup li.disabled {color: #000;}\sn.button:hover {color: #fff;background: #00009d;\sn border: 1px solid #dedede;}\sn#topMenu { background: transparent; padding: 6px;margin-left: -5px;border-bottom: solid 3px #00005a}\sn#topMenu .button, #topMenu .tiddlyLink, tiddlyLinkExisting, #topMenu .externalLink\sn{\sn color: #fff;\sn text-align: center;\sn font-weight: bold;\sn font-size: 1.1em;\sn text-decoration: none;\sn letter-spacing: 1.5px;\sn background: transparent;\sn border-right: solid 1px #fff;\sn padding: 5px 15px 6px 15px;\sn}\sn#topMenu a:hover {\sn color: #fff;\sn background: #00009d;\sn border: solid 1px #db4;\sn}\sn#topMenu br {display: none; padding-right: 1em;}\sn\sn\sn/*}}}*/";\n\nconfig.shadowTiddlers.Blueberry2PageTemplate = "<!--- More ideas shamesslessly begged, borrowed or stolen from..... Simon Baird, Clint Checketts and Christine Hodges :)) --->\sn<!--{{{-->\sn<div class='header' macro=\s"gradient vert #00005a #0000ad\s">\sn <div id='topMenu'>\sn <span refresh='content' tiddler='SiteTitle'></span><span refresh='content' tiddler='MainMenu'></span></div>\sn </div>\sn</div> \sn<div id='sidebar'>\sn <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn <div id='messageArea'></div>\sn <div id='tiddlerDisplay'></div>\sn</div>\sn<!--}}}-->\sn";\n\nconfig.themes.push("Blueberry2");\n\n\nconfig.shadowTiddlers.iJobsStyleSheet = "<!--- [[iJobs 2|StyleSheet]] with ideas shamesslessly taken from (and suggested by) Simon Baird, Clint Checketts and Christine Hodges. Colours inspired by http://www.solucija.com/templates/demo/Internet_Jobs/ --->\sn/*{{{*/\sn.headerForeground { display: none;}\sn#sidebar {width: 171px; background: #808080;border-bottom: solid 1.5em #3c6491;border-top: solid 2px #fff;}\sn#sidebarTabs .tabContents {width: 158px; background: #eee;font-weight: bold; color: #333 ;}\sn.tabSelected{color: #fff;background: #963112; border: solid 1px #fff;}\sn.tabUnselected {color: #fff;background: #999;}\sn#sidebarOptions .sliderPanel { background: #eee;}\sn#sidebarOptions a {;border: none;}\sn#sidebarOptions .sliderPanel a {border: none;color: #333;background: #eee;}\sn#displayArea {background: #fff;margin: 1em 15.7em 0em 1em;border-top: solid 3px #ddd;border-bottom: solid 1.5em #3c6491;}\sn.viewer {line-height: 1.4em;padding-bottom: 1em;border-bottom:solid 1px #dedede;}\sn.viewer th, thead td {background: #963112;border: 1px solid #666;color: #fff;}\sn.title {color: #000}\snh1,h2,h3,h4,h5 {color: #fff;background: #963112;}\sna{ color:#c01903 ;}\sna:hover{ background: #c01903; color: #fff;font-weight: bold;}\sn.externalLink { text-decoration: underline; color: #c01903;}\snbody { background: #fff;}\sn.popup { background: #3c6491; border: 1px solid #3c6491;}\sn.popup li a:hover {background: #dedede;color: #963112;border: none;}\sn.popup li.disabled {color: #000;}\sn.button {color: #fff;background: #808080;border: 1px solid #fff;}\sn.button:hover {color: #fff;background: #c01903;\sn border: 1px solid #dedede;}\sn#topMenu { background: transparent;border-bottom: solid 3px #bcbcbc; padding: 5px;margin-left: -5px;}\sn#topMenu .button, #topMenu .tiddlyLink, tiddlyLinkExisting, #topMenu .externalLink\sn{\sn color: #333;\sn text-align: center;\sn font-weight: bold;\sn font-size: 1em;\sn text-decoration: none;\sn letter-spacing: 1.5px;\sn background: transparent;\sn border-right: solid 1px #fff;\sn padding: 5px 15px 8px 15px;\sn}\sn#topMenu a:hover {\sn color: #fff;\sn background: #3c6491;\sn}\sn#topMenu br {display: none; padding-right: 1em;}\sn\sn\sn/*}}}*/\sn";\n\nconfig.shadowTiddlers.iJobsPageTemplate = "<!--- More ideas shamesslessly begged, borrowed or stolen from..... Simon Baird, Clint Checketts and Christine Hodges :)) --->\sn<!--{{{-->\sn<div class='header' macro=\s"gradient vert #aaa #ccc\s">\sn <div id='topMenu'>\sn <span refresh='content' tiddler='SiteTitle'></span><span refresh='content' tiddler='MainMenu'></span></div>\sn </div>\sn</div> \sn<div id='sidebar'>\sn <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn <div id='messageArea'></div>\sn<div class='viewer' macro=\s"gradient vert #f5f5f5 #fff\s">\sn <div id='tiddlerDisplay'></div>\sn</div>\sn<!--}}}-->\sn";\n\nconfig.themes.push("iJobs");\n\n\nconfig.shadowTiddlers.NoBerry2StyleSheet = "<!--- The default TW colours with modified layout. Ideas shamesslessly taken from (and suggested by) Simon Baird, Clint Checketts and Christine Hodges --->\sn\sn/*{{{*/\sn.headerForeground { display: none;}\sn#sidebar {width: 170px; }\sn#sidebarTabs .tabContents {width: 158px; }\sn#displayArea {background: #fff;margin: 1em 15.7em 0em 1em;}\sn#topMenu { background: transparent; padding: 6px;margin-left: -5px; border-bottom: solid 3px #0457ce;}\sn#topMenu .button, #topMenu .tiddlyLink, tiddlyLinkExisting, #topMenu .externalLink\sn{\sn color: #fff;\sn text-align: center;\sn font-weight: bold;\sn font-size: 1.1em;\sn text-decoration: none;\sn letter-spacing: 1.5px;\sn background: transparent;\sn border-right: solid 1px #fff;\sn padding: 5px 15px 8px 15px;\sn}\sn#topMenu a:hover {\sn color: #fff;\sn background: #18f;\sn}\sn#topMenu br {display: none; padding-right: 1em;}\sn\sn\sn/*}}}*/";\n\nconfig.shadowTiddlers.NoBerry2PageTemplate = "<!--- More ideas shamesslessly begged, borrowed or stolen from..... Simon Baird, Clint Checketts and Christine Hodges :)) --->\sn<!--{{{-->\sn<div class='header' macro=\s"gradient vert #04b #18f\s">\sn <div id='topMenu'>\sn <span refresh='content' tiddler='SiteTitle'></span><span refresh='content' tiddler='MainMenu'></span></div>\sn </div>\sn</div> \sn<div id='sidebar'>\sn <div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn <div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn <div id='messageArea'></div>\sn <div id='tiddlerDisplay'></div>\sn</div>\sn<!--}}}-->\sn";\n\nconfig.themes.push("NoBerry2");\n\n//}}}\n/***\n!!Clint's Themes\nThe themes were created by Clint Checketts from http://www.checkettsweb.com/\nThe original GTD theme was created by Nathan Bowers from http://snapgrid.com/\n***/\n//{{{\n\n\nconfig.shadowTiddlers.GTDStyleSheet = "/***\sn!Calendar CSS\sn***/\sn/*{{{*/\sn.calendar{\sn border-bottom: 1px solid #550000;\sn}\sn\sn.viewer .calendar{\sn width: 220px;\sn}\sn\sn#mainMenu .calendar{\sn font-size: 8px;\sn cursor: pointer;\sn width: 100%;\sn border: 0;\sn border-collapse: collapse;\sn}\sn\sn#mainMenu .calendar .button{\sn border: 0;\sn}\sn\sn#mainMenu .calendar td{\sn font-size: 8pt;\sn padding: 0;\sn background: #fff;\sn border: 0;\sn}\sn\sn#mainMenu .calendar a{\sn margin: 0;\sn color: #000;\sn background: transparent;\sn}\sn\sn#mainMenu .calendar a:hover{\sn color: #000;\sn background: transparent;\sn}\sn\sn#mainMenu .calendarMonthname,\sn#mainMenu .calendar .calendarMonthTitle td a{\sn color: #fff;\sn}\sn\sn#mainMenu .calendarDaysOfWeek td{\sn background: #500;\sn color: #fff;\sn}\sn\sn/*}}}*/\sn\sn/***\sn!GTD Style\sn\sn!Generic rules /%==================================================================== %/\sn***/\sn/*{{{*/\snbody {\sn background: #464646 url('http://shared.snapgrid.com/images/tiddlywiki/bodygradient.png') repeat-x top fixed;\sn color: #000;\sn font: .82em/1.25em 'Bitstream Vera Sans', Verdana, Helvetica, Arial, sans-serif;\sn/*'Lucida Sans Unicode', 'Lucida Grande','Trebuchet MS', */\sn}\sn/*}}}*/\sn/***\sn!Header rules /%====================================================================== %/\sn***/\sn/*{{{*/\sn#contentWrapper\sn{\sn margin: 0 auto;\snwidth: 59em;\snposition: relative;\sn}\sn\sn#header\sn{\sn color: #fff;\sn padding: 1.5em 1em .6em 0;\sn}\sn\sn#siteTitle {\sn\sn font-size: 2.3em;\sn margin: 0;\sn}\sn\sn#siteSubtitle {\sn font-size: 1em;\sn padding-left: .8em;;\sn}\sn\sn#titleLine{\sn background: transparent;\sn padding: 0;\sn}\sn\sn#titleLine a {\sn color: #cf6;\sn background: transparent;\sn}\sn/*}}}*/\sn\sn\sn\sn\sn\sn\sn\sn\sn\sn/***\sn!Sidebar rules /%====================================================================== %/\sn***/\sn/*{{{*/\sn#sidebar{\sn left: 0;\snwidth: 18em;\sn margin: .9em .9em 0 0;\sn color: #000;\sn background: transparent;\sn}\sn/*}}}*/\sn/***\sn!Main menu rules /%=================================================================== %/\sn***/\sn/*{{{*/\sn#mainMenu{\sn position: static;\sn width: auto;\sn\sn background: #600;\sn border-right: 3px solid #500;\snpadding: 0;\sn text-align: left;\sn font-size: 1em;\sn}\sn\sn#mainMenu h1{\sn padding: 0;\sn margin: 0;\sn font-size: 1em;\sn font-weight: normal;\sn}\sn\sn#mainMenu ul{\sn padding: 0;\sn margin: 0;\sn list-style: none;\sn}\sn\sn#mainMenu h1 a,\sn#mainMenu li a,\sn#mainMenu li a.button{\sn display: block;\sn padding: 0 5px 0 10px;\snborder: 0;\sn border-bottom: 1px solid #500;\sn border-top: 1px solid #900;\snmargin: 0;\sn}\sn\sn#mainMenu a,\sn#mainMenu a.button{\sn height: 22px;\snheight: 1.83em;\sn line-height: 22px;\sn color: #fff;\sn background: #700;\snmargin-left: 1em;\sn}\sn\sn#mainMenu a:hover,\sn#mainMenu a.button:hover {\sn background: #b00;\sn color: #fff;\sn}\sn/*}}}*/\sn/***\sn!Sidebar options rules /%============================================================ %/\sn***/\sn/*{{{*/\sn#sidebarOptions {\sn background: #eeb;\sn border-right: 3px solid #bb8;\sn color: #B4C675;\sn padding: .5em 0;\sn}\sn\sn#sidebarOptions a {\sn color: #700;\sn margin: .2em .8em;\sn padding: 0;\sn border: 0;\sn}\sn\sn#sidebarOptions a:hover, #sidebarOptions a:active {\sn color: #fff;\sn background: #700;\sn border: 0;\sn}\sn\sn#sidebarOptions input{\sn margin: 2px 10px;\sn border: 1px inset #333;\snpadding: 0;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background: #fff;\sn color: #000;\sn padding: 5px 10px;\sn font-size: .9em;\sn}\sn\sn#sidebarOptions .sliderPanel a{\sn font-weight: normal;\sn margin: 0;\sn}\sn\sn#sidebarOptions .sliderPanel a:link,#sidebarOptions .sliderPanel a:visited {\sn color: #700;\sn}\sn\sn#sidebarOptions .sliderPanel a:hover,#sidebarOptions .sliderPanel a:active {\sn color: #fff;\sn background: #700;\sn}\sn/*}}}*/\sn/***\sn!Sidebar tabs rules /%===================================================================== %/\sn***/\sn/*{{{*/\sn#sidebarTabs {\sn background: transparent;\sn border-right: 3px solid #740;\sn border-bottom: 3px solid #520;\sn border: 0;\sn padding: 0;\sn}\sn\sn#contentWrapper #sidebarTabs a,\sn#contentWrapper #displayArea .tabContents a{\sn color: #fff;\sn}\sn\sn#contentWrapper #sidebarTabs a:hover,\sn#contentWrapper #displayArea .tabContents a:hover {\sn background: #000;\sn color: #fff;\sn}\sn\sn#contentWrapper #sidebarTabs a:active,\sn#contentWrapper #displayArea .tabContents a:active{\sn color: #000;\sn}\sn\sn\sn\sn#contentWrapper .tabSelected {\sn background: #960;\sn}\sn\sn#contentWrapper .tabUnselected{\sn background: #660;\sn}\sn\sn#contentWrapper #sidebar .tabset{\sn background: #eeb;\sn border-right: 3px solid #bb8;\sn padding: 0 0 0 .75em;\sn}\sn\sn#contentWrapper .tabContents{\snfont-size: .95em;\snbackground: #960;\snborder:0;\sn border-right: 3px solid #740;\sn border-bottom: 3px solid #520;\sn padding: .75em;\sn}\sn\sn#contentWrapper .tabContents{\sn width: auto;\sn}\sn\sn#contentWrapper #sidebarTabs .tabContents .tabset,\sn#contentWrapper .tabContents .tabset{\sn border: 0;\sn padding: 0;\sn background: transparent;\sn}\sn\sn#contentWrapper .tabContents .tabSelected,\sn#contentWrapper .tabContents .tabContents {\sn background: #700;\sn border: 0;\sn}\sn\sn#contentWrapper .tabContents .tabUnselected {\sn background: #440;\sn}\sn\sn#contentWrapper .tabset a {\sn color: #fff;\sn padding: .2em .7em;\sn margin: 0 .17em 0 0;\sn height: 2em;\snposition: static;\sn}\sn\sn#contentWrapper .tabset a:hover {\sn background: #000;\sn color: #fff;\sn}\sn\sn#contentWrapper .tabset a:active {\sn color: #000;\sn}\sn\sn#contentWrapper .tabContents ul{\sn margin: 0;\sn padding: 0;\sn list-style: none;\sn}\sn\sn#contentWrapper .tabContents .tabContents ul{\sn color: #eeb;\sn}\sn\sn.tabContents ul a,\sn.tabContents ul .button{\sn color: #fff;\sn display: block;\sn padding: .1em 0 .1em .7em;\sn background: transparent;\sn border: 0;\sn}\sn\sn.tabContents ul a:hover {\sn color: #fff;\sn background: #000;\sn}\sn/*}}}*/\sn/***\sn!License panel rules /%==================================================================== %/\sn***/\sn/*{{{*/\sn#licensePanel {\sn padding: 0px 1em;\sn font-size: .9em;\sn}\sn\sn#licensePanel a {\sn color: #960;\sn display: block;\sn margin-top: .9em;\sn}\sn\sn#licensePanel a:hover {\sn color: #fff;\sn background: transparent;\sn}\sn/*}}}*/\sn/***\sn!Popup rules /%================================================================= %/\sn***/\sn/*{{{*/\sn.popup {\sn font-size: .8em;\sn padding: 0em;\sn background: #333;\sn border: 1px solid #000;\sn}\sn\sn.popup hr {\sn margin: 1px 0 0 0;\sn visibility: hidden;\sn}\sn\sn.popup li.disabled {\sn color: #666;\sn}\sn\sn.popup li a,\sn.popup li a:visited{\sn color: #000;\sn border: .1em outset #cf6;\sn background: #cf6;\sn}\sn\sn.popup li a:hover {\snborder: .1em outset #cf6;\sn background: #ef9;\sn color: #000;\sn}\sn/*}}}*/\sn/***\sn!Message area rules /%================================================================= %/\sn***/\sn/*{{{*/\sn#messageArea{\sn font-size: .9em;\sn padding: .4em;\sn background: #FFE72F;\sn border-right: .25em solid #da1;\sn border-bottom: .25em solid #a80;\sn\snposition: fixed;\sn top: 10px;\sn right: 10px;\sn color: #000;\sn}\sn\sn#contentWrapper #messageArea a{\sn color: #00e;\sn text-decoration: none;\sn}\sn\sn#contentWrapper #messageArea a:hover{\sn color: #00e;\sn text-decoration: underline;\sn background: transparent;\sn}\sn\sn#contentWrapper #messageArea .messageToolbar a.button{\sn border: 1px solid #da1;\sn}\sn\sn#contentWrapper #messageArea .messageToolbar a.button:hover{\sn color: #00e;\sn text-decoration: none;\sn border: 1px solid #000;\sn background: #fff;\sn}\sn\sn\sn\sn/*}}}*/\sn/***\sn!Tiddler display rules /%================================================================== %/\sn***/\sn/*{{{*/\sn#displayArea {\sn width: 39.75em;\sn margin: 0 0 0 17em;\sn}\sn\sn.tiddler {\sn margin: 0 0 .9em 0;\sn padding: 0 1em;\sn border-right: .25em solid #aaa;\sn border-bottom: .25em solid #555;\sn background: #fff;\sn}\sn\sn.title {\sn font-size: 1.5em;\sn font-weight: bold;\sn color: #900;\sn}\sn\sn.toolbar {\sn font-size: .8em;\sn padding: .5em 0;\sn}\sn\sn.toolbar .button{\sn padding: .1em .3em;\sn color: #000;\sn\sn border: .1em outset #cf6;\sn background: #cf6;\snmargin: .1em;\sn}\sn\sn.toolbar .button:hover {\sn background: #ef9;\sn color: #000;\sn}\sn\sn.toolbar .button:active {\sn background: #ff0;\sn}\sn\sn/*}}}*/\sn/***\sn!Viewer rules /% ------------------------------------------------------------------------------------------ %/\sn***/\sn/*{{{*/\sn.viewer {\sn line-height: 1.4em;\sn font-size: 1em;\sn}\sn\sn.viewer a:link, .viewer a:visited {\sn color: #15b;\sn}\sn\sn.viewer a:hover {\sn color: #fff;\sn background: #000;\sn}\sn\sn.viewer .button{\sn background: transparent;\sn border-top: 1px solid #eee;\sn border-left: 1px solid #eee;\sn border-bottom: 1px solid #000;\sn border-right: 1px solid #000;\sn}\sn\sn.viewer .button:hover{\sn background: #eee;\sn color: #000;\sn}\sn\sn.viewer .button:active{\sn background: #ccc;\sn border-bottom: 1px solid #eee;\sn border-right: 1px solid #eee;\sn border-top: 1px solid #111;\sn border-left: 1px solid #111;\sn}\sn\sn\sn.viewer blockquote {\sn border-left: 3px solid #777;\sn margin: .3em;\sn padding: .3em;\sn}\sn\sn.viewer pre{\sn background: #fefefe;\sn border: 1px solid #f1f1f1;\sn}\sn\sn.viewer pre, .viewer code{\sn color: #000;\sn}\sn\sn.viewer ul {\sn padding-left: 30px;\sn}\sn\sn.viewer ol {\sn padding-left: 30px;\sn}\snul{\snlist-style-type: asquare;\sn}\snol{ \sn list-style-type: decimal;\sn}\sn\snol ol{ \sn list-style-type: lower-alpha;\sn}\sn\snol ol ol{ \sn list-style-type: lower-roman;\sn}\sn\sn.viewer ul, .viewer ol, .viewer p {\sn margin: .0;\sn}\sn\sn.viewer li {\sn margin: .2em 0;\sn}\sn\snh1,h2,h3,h4,h5,h6 {\sn color: #000;\sn font-weight: bold;\sn background: #eee;\sn padding: 2px 10px;\sn margin: 5px 0;\sn}\sn\sn.viewer h1 {font-size: 1.3em;}\sn.viewer h2 {font-size: 1.2em;}\sn.viewer h3 {font-size: 1.1em;}\sn.viewer h4 {font-size: 1em;}\sn.viewer h5 { font-size: .9em;}\sn.viewer h6 { font-size: .8em;}\sn\sn.viewer table {\sn border: 2px solid #303030;\sn font-size: 11px;\sn margin: 10px 0;\sn}\sn\sn.viewer th, .viewer thead td{\sn color: #000;\sn background: #eee;\sn border: 1px solid #aaa;\sn padding: 0 3px;\sn}\sn\sn.viewer td {\sn border: 1px solid #aaa;\sn padding: 0 3px;\sn}\sn\sn.viewer caption {\sn padding: 3px;\sn}\sn\sn.viewer hr {\sn border: none;\sn border-top: dotted 1px #777;\sn height: 1px;\sn color: #777;\sn margin: 7px 0;\sn}\sn\sn.viewer\sn{\sn margin: .5em 0 0 0;\sn padding: .5em 0;\sn border-top: 1px solid #ccc;\sn}\sn\sn.highlight {\sn color: #000;\sn background: #ffe72f;\sn}\sn/*}}}*/\sn/***\sn!Editor rules /% ----------------------------------------------------------------------------------------- %/\sn***/\sn/*{{{*/\sn.editor {\sn font-size: .8em;\sn color: #402C74;\sn padding: .3em 0;\sn}\sn\sn.editor input, .editor textarea {\sn font: 1.1em/130% 'Andale Mono', 'Monaco', 'Lucida Console', 'Courier New', monospace;\sn margin: 0;\sn border: 1px inset #333;\sn padding: 2px 0;\sn}\sn\sn.editor textarea {\sn height: 42em;\sn width: 100%;\sn}\sn\sninput:focus, textarea:focus\sn{\sn background: #ffe;\sn border: 1px solid #000;\sn}\sn.footer\sn{\sn padding: .5em 0;\sn margin: .5em 0;\sn border-top: 1px solid #ddd;\sn color: #555;\sn text-align: center; \sn}\sn/*}}}*/\sn/***\sn!IE Display hacks /% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%/\sn***/\sn/*{{{*/\snbody{\sn _text-align: center;\sn}\sn\sn#contentWrapper\sn{\sn/* _width: 770px; CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */\sn _text-align: left; /* CSS UNDERSCORE HACK FOR PROPER WIN/IE DISPLAY */ \sn}\sn\sn#messageArea{\sn _position: absolute;\sn}\sn/*}}}*/";\n\nconfig.shadowTiddlers.GTDPageTemplate = "<!---\sn| Name:|GTDTWPlusPageTemplate|\sn| Source:|http://www.checkettsweb.com/tw/gtd_tiddlywiki.htm#StyleSheet|\sn| Author:|ClintChecketts|\sn--->\sn<!--{{{-->\sn<div id='header'>\sn<div id='titleLine'>\sn<span id='siteTitle' refresh='content' tiddler='SiteTitle'></span>\sn<span id='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn</div>\sn<div id='sidebar'>\sn<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\sn<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div><div id=\s"licensePanel\s">\sn<a rel=\s"license\s" href=\s"http://shared.snapgrid.com/gtd_tiddlywiki.html#RevisionHistory\s" target=\s"_new\s">GTDTW Version <span macro=\s"version\s"></span></a>\sn<a rel=\s"license\s" href=\s"http://www.tiddlywiki.com\s" target=\s"_new\s">\snTiddlyWiki is published by Jeremy Ruston at Osmosoft under a BSD open source license</a>\sn<a rel=\s"license\s" href=\s"http://snapgrid.com\s" target=\s"_new\s">GTD TiddlyWiki is a modification by Nathan Bowers at Snapgrid under the same license terms.</a>\sn<a rel=\s"license\s" href=\s"http://davidco.com\s" target=\s"_new\s">\s"Getting Things Done\s" is © David Allen at Davidco. Davidco has no affiliation with TiddlyWiki or GTD TiddlyWiki.</a></div></div>\sn<div id='displayArea'>\sn<div id='messageArea'></div>\sn<div id='tiddlerDisplay'></div>\sn<!--}}}-->";\n\nconfig.themes.push("GTD");\n\n\nconfig.shadowTiddlers.DevFireStyleSheet = "/***\sn!Devfire\snStyle by Clint Checketts (http://www.checkettsweb.com) for TiddlyWiki 2.0\snInspired by the GLP'd Darkfire Wordpress skin.\sn\sn!Sections in this Tiddler:\sn*Generic rules\sn*Links styles\sn*Header\sn*Main menu\sn*Sidebar\sn**Sidebar options\sn**Sidebar tabs\sn*Message area\sn*Popup\sn*Tabs\sn*Tiddler display\sn**Viewer\sn**Editor\sn*Misc. rules\sn!Generic rules /% ============================================================= %/\sn***/\sn/*{{{*/\snbody {\snbackground-color: #000;\sn}\sn/*}}}*/\sn/***\sn!Link styles /% ============================================================= %/\sn***/\sn/*{{{*/\sna,\sna.button,\sn#mainMenu a.button,\sn#sidebarOptions .sliderPanel a{\sn color: #ffbf00;\sn border: 0;\sn}\sn\sna:hover,\sna.button:hover,\sn#mainMenu a.button:hover,\sn#sidebarOptions .sliderPanel a:hover\sn#sidebarOptions .sliderPanel a:active{\sn color: #ff7f00;\sn border: 0;\sn border-bottom: #ff7f00 1px dashed;\sn background: transparent;\sn text-decoration: none;\sn}\sn\sn#displayArea .button.highlight{\sn color: #ffbf00;\sn background: #4c4c4c;\sn}\sn/*}}}*/\sn/***\sn!Header styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn.header{\sn border-bottom: 2px solid #ffbf00;\sn color: #fff;\sn}\sn\sn.headerForeground a {\sn color: #fff;\sn}\sn\sn.header a:hover {\sn border-bottom: 1px dashed #fff;\sn}\sn/*}}}*/\sn/***\sn!Main menu styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#mainMenu {color: #fff;}\sn#mainMenu h1{\sn font-size: 1.1em;\sn}\sn#mainMenu li,#mainMenu ul{\sn list-style: none;\sn margin: 0;\sn padding: 0;\sn}\sn/*}}}*/\sn/***\sn!Sidebar styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#sidebar {\sn right: 0;\sn color: #fff;\sn border: 2px solid #ffbf00;\sn border-width: 0 0 2px 2px;\sn}\sn#sidebarOptions {\sn background-color: #4c4c4c;\sn padding: 0;\sn}\sn\sn#sidebarOptions a{\sn margin: 0;\sn color: #ffbf00;\sn border: 0;\sn}\sn#sidebarOptions a:hover {\sn color: #4c4c4c;\sn background-color: #ffbf00;\sn\sn}\sn\sn#sidebarOptions a:active {\sn color: #ffbf00;\sn background-color: transparent;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background-color: #333;\sn margin: 0;\sn}\sn\sn#sidebarTabs {background-color: #4c4c4c;}\sn#sidebarTabs .tabSelected {\sn padding: 3px 3px;\sn cursor: default;\sn color: #ffbf00;\sn background-color: #666;\sn}\sn#sidebarTabs .tabUnselected {\sn color: #ffbf00;\sn background-color: #5f5f5f;\sn padding: 0 4px;\sn}\sn\sn#sidebarTabs .tabUnselected:hover,\sn#sidebarTabs .tabContents {\sn background-color: #666;\sn}\sn\sn.listTitle{color: #FFF;}\sn#sidebarTabs .tabContents a{\sn color: #ffbf00;\sn}\sn\sn#sidebarTabs .tabContents a:hover{\sn color: #ff7f00;\sn background: transparent;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabSelected,\sn#sidebarTabs .txtMoreTab .tab:hover,\sn#sidebarTabs .txtMoreTab .tabContents{\sn color: #ffbf00;\sn background: #4c4c4c;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabUnselected {\sn color: #ffbf00;\sn background: #5f5f5f;\sn}\sn\sn.tab.tabSelected, .tab.tabSelected:hover{color: #ffbf00; border: 0; background-color: #4c4c4c;cursor:default;}\sn.tab.tabUnselected {background-color: #666;}\sn.tab.tabUnselected:hover{color:#ffbf00; border: 0;background-color: #4c4c4c;}\sn.tabContents {\sn background-color: #4c4c4c;\sn border: 0;\sn}\sn.tabContents .tabContents{background: #666;}\sn.tabContents .tabSelected{background: #666;}\sn.tabContents .tabUnselected{background: #5f5f5f;}\sn.tabContents .tab:hover{background: #666;}\sn/*}}}*/\sn/***\sn!Message area styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#messageArea {background-color: #666; color: #fff; border: 2px solid #ffbf00;}\sn#messageArea a:link, #messageArea a:visited {color: #ffbf00; text-decoration:none;}\sn#messageArea a:hover {color: #ff7f00;}\sn#messageArea a:active {color: #ff7f00;}\sn#messageArea .messageToolbar a{\sn border: 1px solid #ffbf00;\sn background: #4c4c4c;\sn}\sn/*}}}*/\sn/***\sn!Popup styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#popup {color: #fff; background-color: #4c4c4c; border: 1px solid #ffbf00;}\sn#popup a {color: #ffbf00; }\sn#popup a:hover { background: transparent; color: #ff7f00; border: 0;}\sn#popup hr {color: #ffbf00; background: #ffbf00;}\sn/*}}}*/\sn/***\sn!Tiddler Display styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn.title{color: #fff;}\snh1, h2, h3, h4, h5 {\sn color: #fff;\sn background-color: transparent;\sn border-bottom: 1px solid #333;\sn}\sn\sn.subtitle{\sn color: #666;\sn}\sn\sn.viewer {color: #fff; }\sn\sn.viewer table{background: #666; color: #fff;}\sn\sn.viewer th {background-color: #996; color: #fff;}\sn\sn.viewer pre, .viewer code {color: #ddd; background-color: #4c4c4c; border: 1px solid #ffbf00;}\sn\sn.viewer hr {color: #666;}\sn\sn.tiddler .button {color: #4c4c4c;}\sn.tiddler .button:hover { color: #ffbf00; background-color: #4c4c4c;}\sn.tiddler .button:active {color: #ffbf00; background-color: #4c4c4c;}\sn\sn.toolbar {\sn color: #4c4c4c;\sn}\sn\sn.toolbar a.button,\sn.editorFooter a{\sn border: 0;\sn}\sn\sn.footer {\sn color: #ddd;\sn}\sn\sn.selectedTiddler .footer {\sn color: #888;\sn}\sn\sn.highlight, .marked {\sn color: #000;\sn background-color: #ffe72f;\sn}\sn.editorFooter {\sn color: #aaa;\sn}\sn\sn.tab{\sn-moz-border-radius-topleft: 3px;\sn-moz-border-radius-topright: 3px;\sn}\sn\sn.tagging,\sn.tagged{\sn background: #4c4c4c;\sn border: 1px solid #4c4c4c; \sn}\sn\sn.selected .tagging,\sn.selected .tagged{\sn background: #000;\sn border: 1px solid #ffbf00;\sn}\sn\sn.tagging .listTitle,\sn.tagged .listTitle{\sn color: #fff;\sn}\sn\sn.tagging .button,\sn.tagged .button{\sn color: #ffbf00;\sn border: 0;\sn padding: 0;\sn}\sn\sn.tagging .button:hover,\sn.tagged .button:hover{\snbackground: transparent;\sn}\sn/*}}}*//***\sn!Devfire\snStyle by Clint Checketts (http://www.checkettsweb.com) for TiddlyWiki 2.0\snInspired by the GLP'd Darkfire Wordpress skin.\sn\sn!Sections in this Tiddler:\sn*Generic rules\sn*Links styles\sn*Header\sn*Main menu\sn*Sidebar\sn**Sidebar options\sn**Sidebar tabs\sn*Message area\sn*Popup\sn*Tabs\sn*Tiddler display\sn**Viewer\sn**Editor\sn*Misc. rules\sn!Generic rules /% ============================================================= %/\sn***/\sn/*{{{*/\snbody {\snbackground-color: #000;\sn}\sn/*}}}*/\sn/***\sn!Link styles /% ============================================================= %/\sn***/\sn/*{{{*/\sna,\sna.button,\sn#mainMenu a.button,\sn#sidebarOptions .sliderPanel a{\sn color: #ffbf00;\sn border: 0;\sn}\sn\sna:hover,\sna.button:hover,\sn#mainMenu a.button:hover,\sn#sidebarOptions .sliderPanel a:hover\sn#sidebarOptions .sliderPanel a:active{\sn color: #ff7f00;\sn border: 0;\sn border-bottom: #ff7f00 1px dashed;\sn background: transparent;\sn text-decoration: none;\sn}\sn\sn#displayArea .button.highlight{\sn color: #ffbf00;\sn background: #4c4c4c;\sn}\sn/*}}}*/\sn/***\sn!Header styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn.header{\sn border-bottom: 2px solid #ffbf00;\sn color: #fff;\sn}\sn\sn.headerForeground a {\sn color: #fff;\sn}\sn\sn.header a:hover {\sn border-bottom: 1px dashed #fff;\sn}\sn/*}}}*/\sn/***\sn!Main menu styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#mainMenu {color: #fff;}\sn#mainMenu h1{\sn font-size: 1.1em;\sn}\sn#mainMenu li,#mainMenu ul{\sn list-style: none;\sn margin: 0;\sn padding: 0;\sn}\sn/*}}}*/\sn/***\sn!Sidebar styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#sidebar {\sn right: 0;\sn color: #fff;\sn border: 2px solid #ffbf00;\sn border-width: 0 0 2px 2px;\sn}\sn#sidebarOptions {\sn background-color: #4c4c4c;\sn padding: 0;\sn}\sn\sn#sidebarOptions a{\sn margin: 0;\sn color: #ffbf00;\sn border: 0;\sn}\sn#sidebarOptions a:hover {\sn color: #4c4c4c;\sn background-color: #ffbf00;\sn\sn}\sn\sn#sidebarOptions a:active {\sn color: #ffbf00;\sn background-color: transparent;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background-color: #333;\sn margin: 0;\sn}\sn\sn#sidebarTabs {background-color: #4c4c4c;}\sn#sidebarTabs .tabSelected {\sn padding: 3px 3px;\sn cursor: default;\sn color: #ffbf00;\sn background-color: #666;\sn}\sn#sidebarTabs .tabUnselected {\sn color: #ffbf00;\sn background-color: #5f5f5f;\sn padding: 0 4px;\sn}\sn\sn#sidebarTabs .tabUnselected:hover,\sn#sidebarTabs .tabContents {\sn background-color: #666;\sn}\sn\sn.listTitle{color: #FFF;}\sn#sidebarTabs .tabContents a{\sn color: #ffbf00;\sn}\sn\sn#sidebarTabs .tabContents a:hover{\sn color: #ff7f00;\sn background: transparent;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabSelected,\sn#sidebarTabs .txtMoreTab .tab:hover,\sn#sidebarTabs .txtMoreTab .tabContents{\sn color: #ffbf00;\sn background: #4c4c4c;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabUnselected {\sn color: #ffbf00;\sn background: #5f5f5f;\sn}\sn\sn.tab.tabSelected, .tab.tabSelected:hover{color: #ffbf00; border: 0; background-color: #4c4c4c;cursor:default;}\sn.tab.tabUnselected {background-color: #666;}\sn.tab.tabUnselected:hover{color:#ffbf00; border: 0;background-color: #4c4c4c;}\sn.tabContents {\sn background-color: #4c4c4c;\sn border: 0;\sn}\sn.tabContents .tabContents{background: #666;}\sn.tabContents .tabSelected{background: #666;}\sn.tabContents .tabUnselected{background: #5f5f5f;}\sn.tabContents .tab:hover{background: #666;}\sn/*}}}*/\sn/***\sn!Message area styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#messageArea {background-color: #666; color: #fff; border: 2px solid #ffbf00;}\sn#messageArea a:link, #messageArea a:visited {color: #ffbf00; text-decoration:none;}\sn#messageArea a:hover {color: #ff7f00;}\sn#messageArea a:active {color: #ff7f00;}\sn#messageArea .messageToolbar a{\sn border: 1px solid #ffbf00;\sn background: #4c4c4c;\sn}\sn/*}}}*/\sn/***\sn!Popup styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn#popup {color: #fff; background-color: #4c4c4c; border: 1px solid #ffbf00;}\sn#popup li.disabled{color: #ffbf00;}\sn\sn#popup a {color: #ffbf00; }\sn#popup a:hover { background: transparent; color: #ff7f00; border: 0;}\sn#popup hr {color: #ffbf00; background: #ffbf00;}\sn/*}}}*/\sn/***\sn!Tiddler Display styles /% ============================================================= %/\sn***/\sn/*{{{*/\sn.title{color: #fff;}\snh1, h2, h3, h4, h5 {\sn color: #fff;\sn background-color: transparent;\sn border-bottom: 1px solid #333;\sn}\sn\sn.subtitle{\sn color: #666;\sn}\sn\sn.viewer {color: #fff; }\sn\sn.viewer table{background: #666; color: #fff;}\sn\sn.viewer th {background-color: #996; color: #fff;}\sn\sn.viewer pre, .viewer code {color: #ddd; background-color: #4c4c4c; border: 1px solid #ffbf00}\sn\sn.viewer hr {color: #666;}\sn\sn.tiddler .button {color: #4c4c4c;}\sn.tiddler .button:hover { color: #ffbf00; background-color: #4c4c4c;}\sn.tiddler .button:active {color: #ffbf00; background-color: #4c4c4c;}\sn\sn.toolbar {\sn color: #4c4c4c;\sn}\sn\sn.toolbar a.button,\sn.editorFooter a{\sn border: 0;\sn}\sn\sn.footer {\sn color: #ddd;\sn}\sn\sn.selectedTiddler .footer {\sn color: #888;\sn}\sn\sn.highlight, .marked {\sn color: #000;\sn background-color: #ffe72f;\sn}\sn.editorFooter {\sn color: #aaa;\sn}\sn\sn.tab{\sn-moz-border-radius-topleft: 3px;\sn-moz-border-radius-topright: 3px;\sn}\sn\sn.tagging,\sn.tagged{\sn background: #4c4c4c;\sn border: 1px solid #4c4c4c; \sn}\sn\sn.selected .tagging,\sn.selected .tagged{\sn background: #000;\sn border: 1px solid #ffbf00;\sn}\sn\sn.tagging .listTitle,\sn.tagged .listTitle{\sn color: #fff;\sn}\sn\sn.tagging .button,\sn.tagged .button{\sn color: #ffbf00;\sn border: 0;\sn padding: 0;\sn}\sn\sn.tagging .button:hover,\sn.tagged .button:hover{\snbackground: transparent;\sn}\sn\sn.cascade {\sn background: #4c4c4c;\sn color: #ddd;\sn border: 1px solid #ffbf00;\sn}\sn/*}}}*/";\n\nconfig.shadowTiddlers.DevFirePageTemplate = "<div class='header' macro='gradient vert #390108 #900'>\sn<div class='headerShadow'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn<div class='headerForeground'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn</div>\sn<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\sn<div id='sidebar'>\sn<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn<div id='messageArea'></div>\sn<div id='tiddlerDisplay'></div>\sn</div>";\n\nconfig.themes.push("DevFire");\n\n\nconfig.shadowTiddlers.ClassicBrownStyleSheet = "[[TagglyTaggingStyles]]\sn\sn/***\sn!TiddlyWiki Classic Color Scheme\snDesigned by Jeremy Ruston\sn\snTo use this color scheme copy the [[ClassicTiddlyWiki]] contents into a tiddler and name it 'StyleSheet' also grab the [[ClassicTemplate]] and copy its contents into a tiddler named 'PageTemplate'.\sn\sn!Colors Used\sn*@@bgcolor(#630):color(#fff): #630@@\sn*@@bgcolor(#930): #930@@\sn*@@bgcolor(#996633): #963@@\sn*@@bgcolor(#c90): #c90@@\sn*@@bgcolor(#cf6): #cf6@@\sn*@@bgcolor(#cc9): #cc9@@\sn*@@bgcolor(#ba9): #ba9@@\sn*@@bgcolor(#996): #996@@\sn*@@bgcolor(#300):color(#fff): #300@@\sn*@@bgcolor(#000000):color(#fff): #000@@\sn*@@bgcolor(#666): #666@@\sn*@@bgcolor(#888): #888@@\sn*@@bgcolor(#aaa): #aaa@@\sn*@@bgcolor(#ddd): #ddd@@\sn*@@bgcolor(#eee): #eee@@\sn*@@bgcolor(#ffffff): #fff@@\sn*@@bgcolor(#f00): #f00@@\sn*@@bgcolor(#ff3): #ff3@@\sn!Generic Rules /%==============================================%/\sn***/\sn/*{{{*/\snbody {\sn background: #fff;\sn color: #000;\sn}\sn\sna{\sn color: #963;\sn}\sn\sna:hover{\sn background: #963;\sn color: #fff;\sn}\sn\sna img{\sn border: 0;\sn}\sn\snh1,h2,h3,h4,h5 {\sn background: #cc9;\sn}\sn/*}}}*/\sn/***\sn!Header /%==================================================%/\sn***/\sn/*{{{*/\sn.header{\sn background: #300;\sn}\sn\sn.titleLine {\sn color: #fff;\sn padding: 5em 0em 1em .5em;\sn}\sn\sn.titleLine a {\sn color: #cf6;\sn}\sn\sn.titleLine a:hover {\sn background: transparent;\sn}\sn/*}}}*/\sn/***\sn!Main Menu /%=================================================%/\sn***/\sn/*{{{*/\sn#mainMenu .button {\sn color: #930;\sn}\sn\sn#mainMenu .button:hover {\sn color: #cf6;\sn background: #930;\sn}\sn\sn#mainMenu li{\sn list-style: none;\sn}\sn/*}}}*/\sn/***\sn!Sidebar options /%=================================================%/\sn~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\sn***/\sn/*{{{*/\sn#sidebar {\sn background: #c90;\sn right: 0;\sn}\sn\sn#sidebarOptions a{\sn color: #930;\sn border: 0;\sn margin: 0;\sn padding: .25em .5em;\sn}\sn\sn#sidebarOptions a:hover {\sn color: #cf6;\sn background: #930;\sn}\sn\sn#sidebarOptions a:active {\sn color: #930;\sn background: #cf6;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background: #eea;\sn margin: 0;\sn}\sn\sn#sidebarOptions .sliderPanel a {\sn color: #930;\sn}\sn\sn#sidebarOptions .sliderPanel a:hover {\sn color: #cf6;\sn background: #930;\sn}\sn\sn#sidebarOptions .sliderPanel a:active {\sn color: #930;\sn background: #cf6;\sn}\sn/*}}}*/\sn/***\sn!Sidebar tabs /%=================================================%/\sn***/\sn/*{{{*/\sn.tabSelected,.tabContents {\sn background: #eea;\sn border: 0;\sn}\sn\sn.tabUnselected {\sn background: #c90;\sn}\sn\sn#sidebarTabs {\sn background: #c90;\sn}\sn\sn#sidebarTabs .tabSelected{\sn color: #cf6;\sn background: #963;\sn}\sn\sn#sidebarTabs .tabUnselected {\sn color: #cf6;\sn background: #930;\sn}\sn\sn#sidebarTabs .tabContents{\sn background: #963;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabSelected,\sn#sidebarTabs .txtMoreTab .tabSelected:hover{\sn background: #930;\sn color: #cf6;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabUnselected,\sn#sidebarTabs .txtMoreTab .tabUnselected:hover{\sn background: #300;\sn color: #cf6;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabContents {\sn background: #930;\sn}\sn\sn#sidebarTabs .tabContents a {\sn color: #cf6;\sn border: 0;\sn}\sn\sn#sidebarTabs .button.highlight,\sn#sidebarTabs .tabContents a:hover {\sn background: #cf6;\sn color: #300;\sn}\sn/*}}}*/\sn/***\sn!Message Area /%=================================================%/\sn***/\sn/*{{{*/\sn#messageArea {\sn background: #930;\sn color: #fff;\sn}\sn\sn#messageArea a:link, #messageArea a:visited {\sn color: #c90;\sn}\sn\sn#messageArea a:hover {\sn color: #963;\sn background: transparent;\sn}\sn\sn#messageArea a:active {\sn color: #fff;\sn}\sn/*}}}*/\sn/***\sn!Popup /%=================================================%/\sn***/\sn/*{{{*/\sn.popup {\sn background: #eea;\sn border: 1px solid #930;\sn}\sn\sn.popup hr {\sn color: #963;\sn background: #963;\sn border-bottom: 1px;\sn}\sn\sn.popup li.disabled {\sn color: #ba9;\sn}\sn\sn.popup li a, .popup li a:visited {\sn color: #300;\sn}\sn\sn.popup li a:hover {\sn background: #930;\sn color: #eea;\sn}\sn/*}}}*/\sn/***\sn!Tiddler Display /%=================================================%/\sn***/\sn/*{{{*/\sn.tiddler .button {\sn color: #930;\sn}\sn\sn.tiddler .button:hover {\sn color: #cf6;\sn background: #930;\sn}\sn\sn.tiddler .button:active {\sn color: #fff;\sn background: #c90;\sn}\sn\sn.shadow .title {\sn color: #888;\sn}\sn\sn.title {\sn color: #422;\sn}\sn\sn.subtitle {\sn color: #866;\sn}\sn\sn.toolbar {\sn color: #aaa;\sn}\sn\sn.toolbar a,\sn.toolbar a:hover{\sn border: 0;\sn}\sn\sn.tagging, .tagged {\sn border: 1px solid #fff;\sn background-color: #ffc;\sn}\sn\sn.selected .tagging, .selected .tagged {\sn border: 1px solid #aa6;\sn background-color: #ffc;\sn}\sn\sn.tagging .listTitle, .tagged .listTitle {\sncolor: #999999;\sn}\sn\sn.footer {\sn color: #ddd;\sn}\sn\sn.selected .footer {\sn color: #888;\sn}\sn\sn.sparkline {\sn background: #eea;\sn border: 0;\sn}\sn\sn.sparktick {\sn background: #930;\sn}\sn\sn.errorButton {\sn color: #ff0;\sn background: #f00;\sn}\sn\sn.zoomer {\sn color: #963;\sn border: 1px solid #963;\sn}\sn/*}}}*/\sn/***\sn''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn.viewer .button {\sn background: #c90;\sn color: #300;\sn border-right: 1px solid #300;\sn border-bottom: 1px solid #300;\sn}\sn\sn.viewer .button:hover {\sn background: #eea;\sn color: #c90;\sn}\sn\sn.viewer .imageLink{\sn background: transparent;\sn}\sn\sn.viewer blockquote {\sn border-left: 3px solid #666;\sn}\sn\sn.viewer table {\sn border: 2px solid #303030;\sn}\sn\sn.viewer th, thead td {\sn background: #996;\sn border: 1px solid #606060;\sn color: #fff;\sn}\sn\sn.viewer td, .viewer tr {\sn border: 1px solid #606060;\sn}\sn\sn.viewer pre {\sn border: 1px solid #963;\sn background: #eea;\sn}\sn\sn.viewer code {\sn color: #630;\sn}\sn\sn.viewer hr {\sn border: 0;\sn border-top: dashed 1px #606060;\sn color: #666;\sn}\sn\sn.highlight, .marked {\sn background: #ff3;\sn}\sn/*}}}*/\sn/***\sn''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn.editor input {\sn border: 1px solid #000;\sn}\sn\sn.editor textarea {\sn border: 1px solid #000;\sn width: 100%;\sn}\sn\sn.editorFooter {\sn color: #aaa;\sn}\sn\sn.editorFooter a {\sn color: #930;\sn}\sn\sn.editorFooter a:hover {\sn color: #cf6;\sn background: #930;\sn}\sn\sn.editorFooter a:active {\sn color: #fff;\sn background: #c90;\sn}\sn/*}}}*/";\n\nconfig.shadowTiddlers.ClassicBrownPageTemplate = "<div class='header'>\sn<div class='titleLine'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn</div>\sn<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>\sn<div id='sidebar'>\sn<div macro='gradient vert #ffffff #cc9900'>\sn<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn</div>\sn<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn<div id='messageArea'></div>\sn<div id='tiddlerDisplay'></div>\sn</div>";\n\nconfig.themes.push("ClassicBrown");\n//}}}\n/***\n!~MonkeyPirateTiddlyWiki Themes\nCreated by Simon Baird from http://simonbaird.com/mptw/\n***/\n//{{{\n\n// couple of extra bits\nconfig.shadowTiddlers.HorizontalMainMenuStyles = "/***\snTo use, add {{{[[HorizontalMainMenuStyles]]}}} to your StyleSheet tiddler, or you can just paste the CSS in directly. See also HorizontalMainMenu and PageTemplate.\sn***/\sn/*{{{*/\sn\sn#topMenu br {display:none; }\sn#topMenu { background: #39a; }\sn#topMenu { padding:2px; }\sn#topMenu .button, #topMenu .tiddlyLink {\sn margin-left:0.5em; margin-right:0.5em;\sn padding-left:3px; padding-right:3px;\sn color:white; font-size:115%;\sn}\sn#topMenu .button:hover, #topMenu .tiddlyLink:hover { background:#178;}\sn\sn#displayArea { margin: 1em 15.7em 0em 1em; } /* so we use the freed up space */\sn\sn/* just in case want some QuickOpenTags in your topMenu */\sn#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }\sn#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }\sn#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }\sn\sn\sn/*}}}*/";\n\nconfig.shadowTiddlers.SideBarWhiteAndGrey = "/***\snThis CSS by DaveBirss.\sn***/\sn/*{{{*/\sn\sn.tabSelected {\sn background: #fff;\sn}\sn\sn.tabUnselected {\sn background: #eee;\sn}\sn\sn#sidebar {\sn color: #000;\sn background: transparent; \sn}\sn\sn#sidebarOptions {\sn background: #fff;\sn}\sn\sn#sidebarOptions .button {\sn color: #999;\sn}\sn\sn#sidebarOptions .button:hover {\sn color: #000;\sn background: #fff;\sn border-color:white;\sn}\sn\sn#sidebarOptions .button:active {\sn color: #000;\sn background: #fff;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background: transparent;\sn}\sn\sn#sidebarOptions .sliderPanel A {\sn color: #999;\sn}\sn\sn#sidebarOptions .sliderPanel A:hover {\sn color: #000;\sn background: #fff;\sn}\sn\sn#sidebarOptions .sliderPanel A:active {\sn color: #000;\sn background: #fff;\sn}\sn\sn.sidebarSubHeading {\sn color: #000;\sn}\sn\sn#sidebarTabs {`\sn background: #fff\sn}\sn\sn#sidebarTabs .tabSelected {\sn color: #000;\sn background: #fff;\sn border-top: solid 1px #ccc;\sn border-left: solid 1px #ccc;\sn border-right: solid 1px #ccc;\sn border-bottom: none;\sn}\sn\sn#sidebarTabs .tabUnselected {\sn color: #999;\sn background: #eee;\sn border-top: solid 1px #ccc;\sn border-left: solid 1px #ccc;\sn border-right: solid 1px #ccc;\sn border-bottom: none;\sn}\sn\sn#sidebarTabs .tabContents {\sn background: #fff;\sn}\sn\sn\sn#sidebarTabs .txtMoreTab .tabSelected {\sn background: #fff;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabUnselected {\sn background: #eee;\sn}\sn\sn#sidebarTabs .txtMoreTab .tabContents {\sn background: #fff;\sn}\sn\sn#sidebarTabs .tabContents .tiddlyLink {\sn color: #999;\sn}\sn\sn#sidebarTabs .tabContents .tiddlyLink:hover {\sn background: #fff;\sn color: #000;\sn}\sn\sn#sidebarTabs .tabContents {\sn color: #000;\sn}\sn\sn#sidebarTabs .button {\sn color: #666;\sn}\sn\sn#sidebarTabs .tabContents .button:hover {\sn color: #000;\sn background: #fff;\sn}\sn\sn\sn/*}}}*/";\n\n\nconfig.shadowTiddlers.MPTWStyleSheet = "/***\snCosmetic fixes that probably should be included in a future TW...\sn***/\sn/*{{{*/\sn.viewer .listTitle { list-style-type:none; margin-left:-2em; }\sn.editorFooter .button { padding-top: 0px; padding-bottom:0px; }\sn/*}}}*/\sn/***\snImportant stuff. See TagglyTaggingStyles and HorizontalMainMenuStyles\sn***/\sn/*{{{*/\sn[[TagglyTaggingStyles]]\sn[[HorizontalMainMenuStyles]]\sn/*}}}*/\sn/***\snClint's fix for weird IE behaviours\sn***/\sn/*{{{*/\snbody {position:static;}\sn.tagClear{margin-top:1em;clear:both;}\sn/*}}}*/\sn/***\snJust colours, fonts, tweaks etc. See SideBarWhiteAndGrey\sn***/\sn/*{{{*/\snbody {background:#eee; /* font-size:103%; */}\sna{ color: #069; }\sna:hover{ background: #069; color: #fff; }\sn.popup { background: #178; border: 1px solid #069; }\sn.headerForeground a { color: #6fc;}\sn.headerShadow { left: 2px; top: 2px; }\sn.title { padding:0px; margin:0px; }\sn.siteSubtitle { padding:0px; margin:0px; padding-left:1.5em; }\sn.subtitle { font-size:90%; color:#ccc; padding-left:0.25em; }\snh1,h2,h3,h4,h5 { color: #000; background: transparent; }\sn.title {color:black; font-size:2em;}\sn.shadow .title {color:#999; }\sn.viewer pre { background-color:#f8f8ff; border-color:#ddf; }\sn.viewer { padding-top:0px; }\sn.editor textarea { font-family:monospace; }\sn#sidebarOptions { border:1px #ccc solid; }\sn.tiddler {\sn border-bottom:1px solid #ccc; border-right:1px solid #ccc; padding-bottom:1em; margin-bottom:1em; \sn background:#fff; padding-right:1.5em; }\sn#messageArea { background-color:#bde; border-color:#8ab; border-width:4px; border-style:dotted; font-size:90%; }\sn#messageArea .button { text-decoration:none; font-weight:bold; background:transparent; border:0px; }\sn#messageArea .button:hover {background: #acd; }\sn[[SideBarWhiteAndGrey]]\sn\sn.viewer td {vertical-align:top;}\sn\sn.viewer table.noBorder {border-style:none;}\sn.viewer table.noBorder td {border-style:none;}\sn.viewer table.threeCol td {width:33%;}\sn\sn#adsense {\sn margin: 1em 15.7em 0em 1em; border:1px solid #ddd;\sn background:#f8f8f8; text-align:center;margin-bottom:1em;overflow:hidden;padding:0.5em;} \sn\sn.sliderPanel { margin-left: 2em; }\sn\sn.viewer th { background:#ddd; color:black; }\sn/*}}}*/\sn/*{{{*/\sn/* for testing clint's new formatter. eg {{red{asdfaf}}} */\sn.red { color:white; background:red; display:block; padding:1em; } \sn\sn/* FF doesn't need this. but IE seems to want to make first one white */\sn.txtMainTab .tabset { background:#eee; }\sn.txtMoreTab .tabset { background:transparent; }\sn\sn.faq ol li { padding-top:1em; font-size:120%; }\sn.faq ol ul li { padding-top:0px; font-size:100%; }\sn\sn/*}}}*/\sn";\n\nconfig.shadowTiddlers.MPTWPageTemplate = "<!---\snI've just tweaked my gradient colours and the topMenu bit. See HorizontalMainMenu.\sn--->\sn<!--{{{-->\sn<div class='header' macro='gradient vert #000 #069'>\sn<div class='headerShadow'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn<div class='headerForeground'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn<div id='topMenu' refresh='content' tiddler='MainMenu'></div>\sn</div>\sn<div id='sidebar'>\sn<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn<div id='messageArea'></div>\sn<div id='tiddlerDisplay'></div>\sn</div>\sn<!--}}}-->\sn";\n\nconfig.themes.push("MPTW");\n\n\nconfig.shadowTiddlers.MPTWCurvesStyleSheet = "/*{{{*/\sn[[MPTWStyleSheet]]\sn.tiddler { -moz-border-radius: 2em;}\sn.button { -moz-border-radius: 1em;}\sn#sidebarOptions { -moz-border-radius: 0 0 1em 1em;}\sn.tab { -moz-border-radius: 1em 1em 0 0;}\sn.tabContents { -moz-border-radius: 1em 1em 0 0;}\sn/*}}}*/";\n\nconfig.shadowTiddlers.MPTWCurvesPageTemplate = config.shadowTiddlers.MPTWPageTemplate;\n\nconfig.themes.push("MPTWCurves");\n\n//}}}\n/***\n!~GTDd3\nCreated by Tomo (Tom Otvos) from http://www.dcubed.ca\n(Based on the original GTD theme by Nathan Bowers at http://snapgrid.com)\n***/\n//{{{\nconfig.shadowTiddlers.GTDd3PageTemplate = "<div class='header'>\sn<div class='headerShadow'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn<div class='headerForeground'>\sn<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span> \sn<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>\sn</div>\sn</div>\sn<div id='mainMenu' refresh='content' tiddler='MainMenu' force='true'></div>\sn<div id='sidebar'>\sn<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\sn<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\sn</div>\sn<div id='displayArea'>\sn<div id='messageArea'></div>\sn<div id='tiddlerDisplay'></div>\sn</div>";\n\nconfig.shadowTiddlers.GTDd3StyleSheet = "/***\sn!GTD specific styles\sn***/\sn\sn/*{{{*/\sn\sn/* the tagging popup really gets in the way so push it off to the side */\sn.tagging { float: right; }\sn\sn/* this unbullets actions in the actionList macro */\snul.gtdActionList { list-style-type: none; }\snli.gtdActionListProject, li.gtdActionListContext { margin-top: 1.0em; }\sn\sn.gtdCompletedActionItem { text-decoration: line-through; }\sn.gtdNextActionItem { border-bottom: 1px solid red; }\sn\sn/*}}}*/\sn\sn/***\sn!Imported 3x5 printing styles\sn//adapted from the work of Clint Checketts, http://www.checkettsweb.com/tw/gtd_tiddlywiki.htm //\sn***/\sn\sn/*{{{*/\sn\sn@media print {\sn#mainMenu, #sidebar, #messageArea {display: none !important;}\sn#displayArea {margin: 1em 1em 0em 1em;}\sn\sn\sn/* LAYOUT ELEMENTS ========================================================== */\sn*\sn{\sn margin: 0;\sn padding: 0;\sn}\sn\sn#contentWrapper\sn{\sn margin: 0;\sn width: 100%;\sn position: static;\sn}\sn\snbody {\sn background: #fff;\sn color: #000;\sn font-size: 6.2pt;\sn font-family: \s"Lucida Grande\s", \s"Bitstream Vera Sans\s", Helvetica, Verdana, Arial, sans-serif;\sn}\sn\snimg {\sn max-width: 2.2in;\sn max-height: 4.3in;\sn}\sn\sn#header, #side_container, #storeArea, #copyright, #floater, #messageArea, .save_accesskey, .site_description, #saveTest, .toolbar, .header, .footer, .tagging, .tagged\sn{\sn display: none;\sn}\sn\sn#tiddlerDisplay, #displayArea\sn{\sn display: inline;\sn}\sn\sn.tiddler {\sn margin: 0 0 2em 0;\sn border-top: 1px solid #000;\sn page-break-before: always;\sn}\sn\sn.tiddler:first-child {\sn page-break-before: ;\sn}\sn\sn.title {\sn font-size: 1.6em;\sn font-weight: bold;\sn margin-bottom: .3em;\sn padding: .2em 0;\sn border-bottom: 1px dotted #000;\sn}\sn\snp, blockquote, ul, li, ol, dt, dd, dl, table\sn{\sn margin: 0 0 .3em 0;\sn}\sn\snh1, h2, h3, h4, h5, h6\sn{\sn margin: .2em 0;\sn} \sn\snh1\sn{\sn font-size: 1.5em;\sn}\sn\snh2\sn{\sn font-size: 1.3em;\sn}\sn\snh3\sn{\sn font-size: 1.25em;\sn}\sn\snh4\sn{\sn font-size: 1.15em;\sn}\sn\snh5\sn{\sn font-size: 1.1em;\sn}\sn\snblockquote\sn{\sn margin: .6em;\sn padding-left: .6em;\sn border-left: 1px solid #ccc;\sn}\sn\snul\sn{\sn list-style-type: circle;\sn}\sn\snli\sn{\sn margin: .1em 0 .1em 2em;\sn line-height: 1.4em; \sn}\sn\sntable\sn{\sn border-collapse: collapse;\sn font-size: 1em;\sn}\sn\sntd, th\sn{\sn border: 1px solid #999;\sn padding: .2em;\sn}\sn\snhr {\sn border: none;\sn border-top: dotted 1px #777;\sn height: 1px;\sn color: #777;\sn margin: .6em 0;\sn}\sn}\sn/*}}}*/\sn\sn/***\sn!Imported styles for calendar plugin\sn***/\sn\sn/*{{{*/\sn.calendar{\sn border-bottom: 1px solid #550000;\sn}\sn\sn.viewer .calendar{\sn width: 220px;\sn}\sn\sn#mainMenu .calendar{\sn font-size: 8px;\sn cursor: pointer;\sn width: 100%;\sn border: 0;\sn border-collapse: collapse;\sn}\sn\sn#mainMenu .calendar .button{\sn border: 0;\sn}\sn\sn#mainMenu .calendar td{\sn font-size: 8pt;\sn padding: 0;\sn background: #fff;\sn border: 0;\sn}\sn\sn#mainMenu .calendar a{\sn margin: 0;\sn color: #000;\sn background: transparent;\sn}\sn\sn#mainMenu .calendar a:hover{\sn color: #000;\sn background: transparent;\sn}\sn\sn#mainMenu .calendarMonthname,\sn#mainMenu .calendar .calendarMonthTitle td a{\sn color: #fff;\sn}\sn\sn#mainMenu .calendarDaysOfWeek td{\sn background: #500;\sn color: #fff;\sn}\sn/*}}}*/\sn\sn\sn/***\sn!Layout Rules /%==============================================%/\sn***/\sn/*{{{*/\sn\snbody { position: static; }\sn\sn.headerForeground, .headerShadow {\sn padding-top: 1em;\sn}\sn\sn.tiddler {\sn margin: 0 0 0.9em 0;\sn padding-bottom: 1em;\sn}\sn\sn#mainMenu {\sn width: 16em;\sn font-size: 1em;\sn text-align: left;\sn}\sn\sn#mainMenu * {\sn font-size: 1em;\sn font-weight: normal;\sn padding: 0; margin: 0; border: 0;\sn}\sn\sn#mainMenu ul {\sn list-style: none;\sn margin-bottom: 10px;\sn}\sn\sn#mainMenu li {\sn text-indent: 1em;\sn}\sn\sn#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\sn display: block; margin: 0;\sn}\sn\sn#displayArea {\sn margin-left: 19em;\sn}\sn\sn/*}}}*/\sn\sn/***\sn!Colors Used\sn*@@bgcolor(#8cf): #8cf - Background blue@@\sn*@@bgcolor(#18f): #18f - Top blue@@\sn*@@bgcolor(#04b): #04b - Mid blue@@\sn*@@bgcolor(#014):color(#fff): #014 - Bottom blue@@\sn*@@bgcolor(#ffc): #ffc - Bright yellow@@\sn*@@bgcolor(#fe8): #fe8 - Highlight yellow@@\sn*@@bgcolor(#db4): #db4 - Background yellow@@\sn*@@bgcolor(#841): #841 - Border yellow@@\sn*@@bgcolor(#703):color(#fff): #703 - Title red@@\sn*@@bgcolor(#866): #866 - Subtitle grey@@\sn!Generic Rules /%==============================================%/\sn***/\sn/*{{{*/\snbody {\sn background: #464646;\sn color: #000;\sn}\sn\sna{\sn color: #04b;\sn}\sn\sna:hover{\sn background: #04b;\sn color: #fff;\sn}\sn\sna img{\sn border: 0;\sn}\sn\snh1,h2,h3,h4,h5 {\sn color: #000;\sn background: #eee;\sn}\sn\sn.button {\sn color: #014;\sn border: 1px solid #fff;\sn}\sn\sn.button:hover {\sn color: #014;\sn background: #fe8;\sn border-color: #db4;\sn}\sn\sn.button:active {\sn color: #fff;\sn background: #db4;\sn border: 1px solid #841;\sn}\sn\sn/*}}}*/\sn/***\sn!Header /%==================================================%/\sn***/\sn/*{{{*/\sn.header {\sn background: #000;\sn}\sn\sn.headerShadow {\sn color: #000;\sn}\sn\sn.headerShadow a {\sn font-weight: normal;\sn color: #000;\sn}\sn\sn.headerForeground {\sn color: #cf6;\sn}\sn\sn.headerForeground a {\sn font-weight: normal;\sn color: #cf6;\sn}\sn\sn/* ??? what is up when you specify a site title colour in IE ??? */\sn/* .siteTitle { color: red; } */\sn\sn/*}}}*/\sn/***\sn!General tabs /%=================================================%/\sn***/\sn/*{{{*/\sn\sn.tabSelected {\sn color: #fff;\sn background: #960;\sn border: none;\sn}\sn\sn.tabUnselected {\sn color: #fff;\sn background: #660;\sn}\sn\sn.tabContents {\sn color: #004;\sn background: #960;\sn border: none;\sn}\sn\sn.tabContents .button, .tabContents a {\sn border: none;\sn color: #fff;\sn}\sn\sn.tabContents a:hover, .tabset a:hover {\sn background: #000;\sn}\sn\sn/* make nested tab areas look different */\sn.tabContents .tabSelected, .tabContents .tabContents {\sn background: #700;\sn color: #fff;\sn}\sn\sn.tabContents .tabContents {\sn color: #eeb;\sn}\sn\sn/*}}}*/\sn/***\sn!Main Menu /%=================================================%/\sn***/\sn/*{{{*/\sn#mainMenu {\sn background: #700;\sn color: #fff;\sn border-right: 3px solid #500;\sn}\sn\sn#mainMenu * {\sn color: #fff;\sn}\sn\sn#mainMenu a.button, #mainMenu a.tiddlyLink, #mainMenu a.externalLink {\sn border: none;\sn border-bottom: 1px solid #500;\sn border-top: 1px solid #900;\sn}\sn\sn#mainMenu a:hover,\sn#mainMenu a.button:hover {\sn background-color: #b00;\sn color: #fff;\sn}\sn\sn/*}}}*/\sn/***\sn!Sidebar options /%=================================================%/\sn~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\sn***/\sn/*{{{*/\sn#sidebar {\sn color: #000;\sn background: #eeb;\sn border-right: 3px solid #bb8;\sn border-bottom: 3px solid #520;\sn}\sn\sn#sidebarOptions input {\sn border: 1px solid #04b;\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background: #fff;\sn}\sn\sn#sidebarOptions .sliderPanel a {\sn border: none;\sn color: #700;\sn}\sn\sn#sidebarOptions .sliderPanel a:hover {\sn color: #fff;\sn background: #700;\sn}\sn\sn#sidebarOptions .sliderPanel a:active {\sn color: #700;\sn background: #fff;\sn}\sn\sn#sidebarOptions a {\sn color: #700;\sn border: none;\sn}\sn\sn#sidebarOptions a:hover, #sidebarOptions a:active {\sn color: #fff;\sn background: #700;\sn}\sn\sn/*}}}*/\sn/***\sn!Message Area /%=================================================%/\sn***/\sn/*{{{*/\sn#messageArea {\sn border-right: 3px solid #da1;\sn border-bottom: 3px solid #a80;\sn background: #ffe72f;\sn color: #014;\sn}\sn\sn#messageArea .button {\sn padding: 0.2em 0.2em 0.2em 0.2em;\sn color: #014;\sn background: #fff;\sn}\sn\sn/*}}}*/\sn/***\sn!Popup /%=================================================%/\sn***/\sn/*{{{*/\sn.popup {\sn background: #333;\sn border: none;\sn}\sn\sn.popup hr {\sn color: #000;\sn}\sn\sn.popup li.disabled {\sn color: #666;\sn background: #cf6;\sn}\sn\sn.popup li a, .popup li a:visited {\sn color: #000;\sn border: 1px outset #cf6;\sn background: #cf6;\sn}\sn\sn.popup li a:hover {\sn color: #000;\sn border: 1px outset #cf6;\sn background: #ef9;\sn}\sn/*}}}*/\sn/***\sn!Tiddler Display /%=================================================%/\sn***/\sn/*{{{*/\sn.tiddler {\sn background: #fff;\sn border-right: 3px solid #aaa;\sn border-bottom: 3px solid #555;\sn}\sn\sn.tiddler .defaultCommand {\sn font-weight: bold;\sn}\sn\sn.shadow .title {\sn color: #866;\sn}\sn\sn.title {\sn color: #900;\sn}\sn\sn.subtitle {\sn color: #866;\sn}\sn\sn.toolbar {\sn color: #000;\sn}\sn\sn.toolbar .button {\sn background: #cf6;\sn border: 1px outset #cf6;\sn}\sn\sn.toolbar .button:hover {\sn background: #ef9;\sn}\sn\sn.tagging, .tagged {\sn border: 1px solid #eee;\sn background-color: #eee;\sn}\sn\sn.selected .tagging, .selected .tagged {\sn background-color: #ddd;\sn border: 1px solid #bbb;\sn}\sn\sn.tagging .listTitle, .tagged .listTitle {\sn color: #014;\sn}\sn\sn.tagging .button, .tagged .button {\sn border: none;\sn}\sn\sn.footer {\sn color: #ddd;\sn}\sn\sn.selected .footer {\sn color: #888;\sn}\sn\sn.sparkline {\sn background: #8cf;\sn border: 0;\sn}\sn\sn.sparktick {\sn background: #014;\sn}\sn\sn.errorButton {\sn color: #ff0;\sn background: #f00;\sn}\sn\sn.cascade {\sn background: #eef;\sn color: #aac;\sn border: 1px solid #aac;\sn}\sn\sn.imageLink, #displayArea .imageLink {\sn background: transparent;\sn}\sn\sn/*}}}*/\sn/***\sn''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn\sn.viewer .listTitle {list-style-type: none; margin-left: -2em;}\sn\sn.viewer .button {\sn border: 1px solid #db4;\sn}\sn\sn.viewer blockquote {\sn border-left: 3px solid #666;\sn}\sn\sn.viewer table {\sn border: 2px solid #333;\sn}\sn\sn.viewer th, thead td {\sn background: #db4;\sn border: 1px solid #666;\sn color: #fff;\sn}\sn\sn.viewer td, .viewer tr {\sn border: 1px solid #666;\sn}\sn\sn.viewer pre {\sn border: 1px solid #fe8;\sn background: #ffc;\sn}\sn\sn.viewer code {\sn color: #703;\sn}\sn\sn.viewer hr {\sn border: 0;\sn border-top: dashed 1px #666;\sn color: #666;\sn}\sn\sn.highlight, .marked {\sn background: #fe8;\sn}\sn/*}}}*/\sn/***\sn''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn.editor input {\sn border: 1px solid #04b;\sn}\sn\sn.editor textarea {\sn border: 1px solid #04b;\sn width: 100%;\sn}\sn\sn.editorFooter {\sn color: #aaa;\sn}\sn\sn/*}}}*/\sn/***\sn!Personal preferences\sn***/\sn\sn/*{{{*/\sn/* not required, but the menu looks a whole lot nicer flushed left */\sn#mainMenu { text-align: left; }\sn/* make input fields in viewer (options) show up in correct size */\sn.viewer input { font-size: 0.9em; }\sn/*}}}*/\sn";\n\nconfig.themes.push("GTDd3");\n\n\n//}}}
\n\n|>|>|>|! ''Xivatilla'' |\n| ''Nom'' | ''Funció'' | '' | ''Nivell'' | ''Observacions'' |\n|''~TiddlyWiki''|Pàgina web, wiki, bitàcola, agenda personal, ...| ?? | *~TiddlyWiki és un programari Web 2.0 senzill, flexible, personalitzable, cooperatiu, col·laboratiu, amb el qual es poden fer pàgines web sense cap tipus de coneixements HTML, XHTML, DXHTML, CSS... \n*~TiddlyWiki que supera en senzilesa els //tradicionals// CMS, Blogs i Wikis. \n*~TiddlyWiki pot treballar sense base de dades i sense PHP, de manera que es pot penjar a qualsevol servidor.\n*~TiddlyWiki pot treballar en local, ja sigui en el propi ordinador o en una LAN, fins i tot sense necessitat d'instal·lar LAMP o WAMP.\n*TiddlyWiki ocupa tan poc espai que ''es pot dur en un disquet''.\n*TiddlyWiki és tan fàcil d'aprendre que des del mateix moment que te'l baixes, ja pots començar a afegir entrades.|\n|TiddlyWiki.html|Programari|Elemental|Baixa-te'l des d'[[aquí|http://www.xtec.cat/~friviere/TiddlyWiki.html]]. Clica amb el botó secundari del ratolí i tria "Anomena i desa"|\n|''tiddler''|Edició d'entrades|Elemental|El //tiddler// és la base del TiddlyWiki. Amb els tiddlers es pot:\n* Crear entrades tipus bitàcola.\n* Crear entrades tipus wiki.\n* Crear entrades tipus dietari.\n* Dur una agenda.\nA més a més la configuració del sistema del TiddlyWiki també es fa mitjançant els tiddlers.\n\n| | "|\n||c\n| Això és una prova de cabdell de taules |c
{{{\nversion.extensions.calendar = { major: 1, minor: 1, revision: 0, date: new Date(2005, 10, 02)};\n\n// --------------------------------------------------------------------\n// Calendar\n// --------------------------------------------------------------------\n\nconfig.macros.calendar = {holidays: []};\nconfig.macros.calendar.options = {\n // months as they appear in the calendar's title\n calendarMonths: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre","desembre"],\n // week day titles as they appear on the calendar\n calendarWeekDays: ["Du", "Dl", "Dm", "Dx", "Dj", "Dv", "Ds"],\n\n // day week starts from (normally 0-Su or 1-Mo)\n calendarWeekStart: 1,\n calendarToday: "Avui",\n calendarHoliday: "Festiu: ",\n calendarLongDateFormat: "DD MMM YYYY",\n calendarShortDateFormat: "0DD/0MM",\n calendarTag: ["horari"]\n};\n\n/***************************************************************************\n** Internal functions\n***************************************************************************/\nconfig.macros.calendar.calendarIsHoliday = function(date) {\n var cm = config.macros.calendar;\n var longHoliday = date.formatString(cm.options.calendarLongDateFormat);\n var shortHoliday = date.formatString(cm.options.calendarShortDateFormat);\n for(var i = 0; i < cm.holidays.length; i++) {\n var holiday = cm.holidays[i].split(":");\n if(holiday[0] == longHoliday || holiday[0] == shortHoliday) {\n return holiday[1];\n }\n }\n return null;\n}\n\nconfig.macros.calendar.onClickOtherDay = function(e) {\n var day = this.getAttribute('tiddlylink');\n story.displayTiddler(null,day,DEFAULT_EDIT_TEMPLATE);\n for(var i=0; i<config.macros.calendar.options.calendarTag.length; i++){\n story.setTiddlerTag(day, config.macros.calendar.options.calendarTag[i], i);\n }\n story.focusTiddler(day,"text");\n}\n\nconfig.macros.calendar.getPopupText = function(title) {\n var popup_entries = store.getTiddlerText(title).split("\sn");\n var popup = popup_entries[0];\n if(popup_entries.length>1) popup += " ...";\n return popup;\n}\n\nconfig.macros.calendar.findCalendar = function(child) {\n var parent;\n while (child && child.parentNode) {\n parent = child.parentNode;\n if (parent.id == "calendarWrapper") {\n return parent;\n }\n child = parent;\n }\n return null;\n}\n\nconfig.macros.calendar.selectDate = function(e) {\n if (!e) var e = window.event;\n var cm = config.macros.calendar;\n var calendar = cm.findCalendar(this);\n if (calendar) {\n var d = this.getAttribute("date");\n if (d != null) {\ncm.makeCalendar(calendar, new Date(new Number(d)));\n }\n }\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n}\n\nconfig.macros.calendar.makeCalendar = function(calendar, dt_current) {\n var cm = config.macros.calendar;\n var dt_today = new Date(new Number(calendar.getAttribute("today")));\n var currentDay = new Date(new Number(calendar.getAttribute("currentDay")));\n var setControls = calendar.getAttribute("setControls");\n calendar.setAttribute("date", dt_current.valueOf());\n\n while (calendar.hasChildNodes())\n calendar.removeChild(calendar.firstChild);\n\nif(setControls==1){\n // get same date in the previous year\n var dt_prev_year = new Date(dt_current);\n dt_prev_year.setFullYear(dt_prev_year.getFullYear() - 1);\n if (dt_prev_year.getDate() != dt_current.getDate())\n dt_prev_year.setDate(0);\n\n // get same date in the next year\n var dt_next_year = new Date(dt_current);\n dt_next_year.setFullYear(dt_next_year.getFullYear() + 1);\n if (dt_next_year.getDate() != dt_current.getDate())\n dt_next_year.setDate(0);\n\n // get same date in the previous month\n var dt_prev_month = new Date(dt_current);\n dt_prev_month.setMonth(dt_prev_month.getMonth() - 1);\n if (dt_prev_month.getDate() != dt_current.getDate())\n dt_prev_month.setDate(0);\n\n // get same date in the next month\n var dt_next_month = new Date(dt_current);\n dt_next_month.setMonth(dt_next_month.getMonth() + 1);\n if (dt_next_month.getDate() != dt_current.getDate())\n dt_next_month.setDate(0);\n}\n\n // get first day to display in the grid for current month\n var dt_firstday = new Date(dt_current);\n dt_firstday.setDate(1);\n dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - cm.options.calendarWeekStart) % 7);\n\n var area, header;\n var line, cell, i;\n\n // 1 - calendar header table\n // 2 - print weekdays titles\n // 3 - calendar days table \ncalendar.cellPadding = 0;\ncalendar.cellSpacing = 0;\narea = createTiddlyElement(calendar, "tbody");\n\n // 1 - calendar header table\n header = createTiddlyElement(area,"tr", "calendarHeader");\n header.cellPadding = 0;\n header.cellSpacing = 0;\n\nif(setControls==1){ \nvar headerValues = [\n [ "<<", "selectYear", dt_prev_year.valueOf() ],\n [ "<", "selectMonth", dt_prev_month.valueOf() ],\n [ cm.options.calendarMonths[dt_current.getMonth()] + ' ' + dt_current.getFullYear(),\n "selectToday", dt_today.valueOf() ],\n [ ">", "selectMonth", dt_next_month.valueOf() ],\n [ ">>", "selectYear", dt_next_year.valueOf() ]\n ];\n\n for (i = 0; i < headerValues.length; ++i) {\n var link = createTiddlyElement(header,"td", null, null, headerValues[i][0]);\n if(i==2) link.colSpan=3;\n link.onclick = cm.selectDate;\n link.setAttribute("date", headerValues[i][2]);\n }\n} else {\n var link = createTiddlyElement(header,"td", null, null, cm.options.calendarMonths[dt_current.getMonth()] + ' ' + dt_current.getFullYear());\nlink.colSpan=7;\n}\n\n // 2 - print weekdays titles\n line = createTiddlyElement(area, "tr", "weekNames");\n for (var n = 0; n < 7; ++n) {\n createTiddlyElement(line, "td", null, null, cm.options.calendarWeekDays[(cm.options.calendarWeekStart + n)%7]);\n }\n\n // 3 - calendar days table\n var dt_current_day = new Date(dt_firstday);\n var day_class;\n var title;\n var holiday_name;\n var popup;\n var clickHandler;\n\n while (dt_current_day.getMonth() == dt_current.getMonth() ||\n dt_current_day.getMonth() == dt_firstday.getMonth()) {\n\n // print row header\n line = createTiddlyElement(area, "tr", "calendarLine", null, null);\n for (var n_current_wday = 0; n_current_wday < 7; ++n_current_wday) {\n title = dt_current_day.formatString(cm.options.calendarLongDateFormat);\n clickHandler = cm.onClickOtherDay;\n popup = null;\n holiday_name = cm.calendarIsHoliday(dt_current_day);\n\n if (holiday_name != null) {\n // holidays\n day_class = "holiDay";\n popup = cm.options.calendarHoliday + holiday_name;\n } else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6) {\n // weekend days\n day_class = "weekDay";\n } else {\n // print working days of current month\n day_class = "workingDay";\n }\n\nif(dt_current_day.getMonth() == dt_current.getMonth()){\n if (currentDay.valueOf() == dt_current_day.valueOf()) {\n // print current date\n if (store.tiddlerExists(title)) {\n // day has a tiddler associated with it\n day_class += " currentscheduledDay";\n clickHandler = onClickTiddlerLink;\n popup = cm.options.calendarToday + ": "+ cm.getPopupText(title);\n } else {\n day_class += " currentDay";\n popup = cm.options.calendarToday;\n}\n}\n\n if (store.tiddlerExists(title) && dt_current_day.valueOf() != dt_today.valueOf()) {\n // day has a tiddler associated with it\n day_class += " scheduledDay";\n clickHandler = onClickTiddlerLink;\n popup = cm.getPopupText(title);\n }\n}\n\n // extra formatting for days of previous or next month\n if (dt_current_day.getMonth() != dt_current.getMonth()) {\n day_class += " otherMonthDay";\n }\n\n var text = dt_current_day.getDate();\n var cell = createTiddlyElement(line, "td", null, day_class, text);\n cell.onclick=clickHandler;\n cell.setAttribute("date", dt_current_day.valueOf());\n cell.setAttribute("tiddlyLink", title);\n if(popup) cell.setAttribute("title", popup);\n\n dt_current_day.setDate(dt_current_day.getDate()+1);\n }\n }\n}\n\nconfig.macros.calendar.handler = function(place, macroName, params) {\n var start_date = new Array();\n var date;\n var n_rows = 1;\n var n_cols = 1;\n var n_months = 1;\n var setControls = 1;\n switch(params.length){\n case 0:\n date = new Date();\n // filter time values off\n start_date[0] = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n break;\n case 1:\n for(var i = 0; i < 12; i++){\n start_date[i] = new Date(params[0], i, 1);\n }\n n_rows = 4;\n n_cols = 3;\n n_months = 12;\n break;\n case 2:\n start_date[0] = new Date(params[0], params[1]-1, 1);\n break;\n case 3:\n n_cols = 3;\n n_months = params[2];\n for(var i = 0; i < n_months; i++){\n start_date[i] = new Date(params[0], params[1]-1+i, 1);\n }\n n_rows = Math.max(1,Math.ceil(n_months/n_cols));\n n_cols = Math.min(n_cols,n_months);\n break;\n case 4:\n n_months = params[2];\n n_cols = params[3];\n for(var i = 0; i < n_months; i++){\n start_date[i] = new Date(params[0], params[1]-1+i, 1);\n }\n n_rows = Math.max(1,Math.ceil(n_months/n_cols));\n n_cols = Math.min(n_cols,n_months);\n break;\n }\n if(n_months>1) setControls = 0;\n var currentDay = new Date();\n currentDay = new Date(currentDay.getFullYear(), currentDay.getMonth(), currentDay.getDate());\n var holder = createTiddlyElement(place, "table", null,"calendarHolder");\n var holderTable = createTiddlyElement(holder, "tbody");\n for(var i = 0; i < n_rows; i++){\n var holderLine = createTiddlyElement(holderTable, "tr");\n for(var j = 0; j < n_cols; j++){\n var holderCell = createTiddlyElement(holderLine, "td");\n if(n_cols*i+j+1<=n_months){\n var calendar = createTiddlyElement(holderCell, "table", "calendarWrapper");\n calendar.setAttribute("name", "calendarWrapper");\n calendar.setAttribute("setControls", setControls);\n calendar.setAttribute("today", start_date[n_cols*i+j].valueOf());\n calendar.setAttribute("currentDay", currentDay.valueOf());\n config.macros.calendar.makeCalendar(calendar, start_date[n_cols*i+j]);\n }\n }\n }\n}\n\nfunction refreshCalendars(hint) {\n var calendars = document.getElementsByName("calendarWrapper");\n var i, c;\n for (i = 0; i < calendars.length; ++i) {\n c = calendars.item(i);\n if (c.id == "calendarWrapper") {\n config.macros.calendar.makeCalendar(c, new Date(new Number(c.getAttribute("date"))));\n }\n }\n}\n\nstore.addNotification(null, refreshCalendars);\n\nsetStylesheet("/***\sn!Calendar Styles\sn***/\sn/*{{{*/\sn .viewer .calendarHolder {\sn margin-left: auto;\sn margin-right: auto;\sn border: none;\sn}\sn\sn .viewer .calendarHolder table {\sn border: none;\sn margin: 0;\sn}\sn\sn .viewer .calendarHolder tr {\sn border: none;\sn vertical-align: top;\sn}\sn\sn .viewer .calendarHolder td {\sn border: none;\sn vertical-align: top;\sn}\sn\sn .viewer #calendarWrapper {\sn width: 21em;\sn border: 2px solid #4682b4;\sn cursor: pointer;\sn}\sn\sn #calendarWrapper #calendarLine td {\sn height: 2.5em;\sn}\sn\sn #calendarWrapper tr {\sn border:none;\sn}\sn\sn #calendarWrapper td {\sn text-align: center;\sn vertical-align: middle;\sn width: 14.28%;\sn border:none;\sn}\sn\sn #calendarWrapper #calendarHeader td{\sn color: #ffffff;\sn background-color: #4682b4;\sn height: 2em;\sn}\sn\sn #calendarWrapper #weekNames td {\sn color: #ffffff;\sn background-color: #87cefa;\sn height: 2em;\sn}\sn\sn #calendarWrapper .weekDay {\sn background-color: #ff9999;\sn}\sn\sn #calendarWrapper .holiDay {\sn background-color: #ff0000;\sn}\sn\sn #calendarWrapper .currentDay {\sn border: solid #ff0000 1px;\sn font-weight: bold;\sn}\sn\sn #calendarWrapper .currentscheduledDay {\sn border: solid #ff0000 2px;\sn font-weight: bold;\sn}\sn\sn #calendarWrapper .workingDay {\sn background-color: #ffffff;\sn}\sn\sn #calendarWrapper .scheduledDay {\sn border: solid orange 2px;\sn}\sn\sn #calendarWrapper .otherMonthDay {\sn background-color: #ddd;\sn}\sn\sn/*}}}*/","CalendarStyles");\n}}}
{{{\nversion.extensions.calendar = { major: 1, minor: 1, revision: 0, date: new Date(2005, 10, 02)};\n\n// --------------------------------------------------------------------\n// Calendar\n// --------------------------------------------------------------------\n\nconfig.macros.calendar = {holidays: []};\nconfig.macros.calendar.options = {\n // months as they appear in the calendar's title\n calendarMonths: ["gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre","desembre"],\n // week day titles as they appear on the calendar\n calendarWeekDays: ["Du", "Dl", "Dm", "Dx", "Dj", "Dv", "Ds"],\n\n // day week starts from (normally 0-Su or 1-Mo)\n calendarWeekStart: 1,\n calendarToday: "Avui",\n calendarHoliday: "Festiu: ",\n calendarLongDateFormat: "DD MMM YYYY",\n calendarShortDateFormat: "0DD/0MM",\n calendarTag: ["horari"]\n};\n\n/***************************************************************************\n** Internal functions\n***************************************************************************/\nconfig.macros.calendar.calendarIsHoliday = function(date) {\n var cm = config.macros.calendar;\n var longHoliday = date.formatString(cm.options.calendarLongDateFormat);\n var shortHoliday = date.formatString(cm.options.calendarShortDateFormat);\n for(var i = 0; i < cm.holidays.length; i++) {\n var holiday = cm.holidays[i].split(":");\n if(holiday[0] == longHoliday || holiday[0] == shortHoliday) {\n return holiday[1];\n }\n }\n return null;\n}\n\nconfig.macros.calendar.onClickOtherDay = function(e) {\n var day = this.getAttribute('tiddlylink');\n story.displayTiddler(null,day,DEFAULT_EDIT_TEMPLATE);\n for(var i=0; i<config.macros.calendar.options.calendarTag.length; i++){\n story.setTiddlerTag(day, config.macros.calendar.options.calendarTag[i], i);\n }\n story.focusTiddler(day,"text");\n}\n\nconfig.macros.calendar.getPopupText = function(title) {\n var popup_entries = store.getTiddlerText(title).split("\sn");\n var popup = popup_entries[0];\n if(popup_entries.length>1) popup += " ...";\n return popup;\n}\n\nconfig.macros.calendar.findCalendar = function(child) {\n var parent;\n while (child && child.parentNode) {\n parent = child.parentNode;\n if (parent.id == "calendarWrapper") {\n return parent;\n }\n child = parent;\n }\n return null;\n}\n\nconfig.macros.calendar.selectDate = function(e) {\n if (!e) var e = window.event;\n var cm = config.macros.calendar;\n var calendar = cm.findCalendar(this);\n if (calendar) {\n var d = this.getAttribute("date");\n if (d != null) {\ncm.makeCalendar(calendar, new Date(new Number(d)));\n }\n }\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return false;\n}\n\nconfig.macros.calendar.makeCalendar = function(calendar, dt_current) {\n var cm = config.macros.calendar;\n var dt_today = new Date(new Number(calendar.getAttribute("today")));\n var currentDay = new Date(new Number(calendar.getAttribute("currentDay")));\n var setControls = calendar.getAttribute("setControls");\n calendar.setAttribute("date", dt_current.valueOf());\n\n while (calendar.hasChildNodes())\n calendar.removeChild(calendar.firstChild);\n\nif(setControls==1){\n // get same date in the previous year\n var dt_prev_year = new Date(dt_current);\n dt_prev_year.setFullYear(dt_prev_year.getFullYear() - 1);\n if (dt_prev_year.getDate() != dt_current.getDate())\n dt_prev_year.setDate(0);\n\n // get same date in the next year\n var dt_next_year = new Date(dt_current);\n dt_next_year.setFullYear(dt_next_year.getFullYear() + 1);\n if (dt_next_year.getDate() != dt_current.getDate())\n dt_next_year.setDate(0);\n\n // get same date in the previous month\n var dt_prev_month = new Date(dt_current);\n dt_prev_month.setMonth(dt_prev_month.getMonth() - 1);\n if (dt_prev_month.getDate() != dt_current.getDate())\n dt_prev_month.setDate(0);\n\n // get same date in the next month\n var dt_next_month = new Date(dt_current);\n dt_next_month.setMonth(dt_next_month.getMonth() + 1);\n if (dt_next_month.getDate() != dt_current.getDate())\n dt_next_month.setDate(0);\n}\n\n // get first day to display in the grid for current month\n var dt_firstday = new Date(dt_current);\n dt_firstday.setDate(1);\n dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - cm.options.calendarWeekStart) % 7);\n\n var area, header;\n var line, cell, i;\n\n // 1 - calendar header table\n // 2 - print weekdays titles\n // 3 - calendar days table \ncalendar.cellPadding = 0;\ncalendar.cellSpacing = 0;\narea = createTiddlyElement(calendar, "tbody");\n\n // 1 - calendar header table\n header = createTiddlyElement(area,"tr", "calendarHeader");\n header.cellPadding = 0;\n header.cellSpacing = 0;\n\nif(setControls==1){ \nvar headerValues = [\n [ "<<", "selectYear", dt_prev_year.valueOf() ],\n [ "<", "selectMonth", dt_prev_month.valueOf() ],\n [ cm.options.calendarMonths[dt_current.getMonth()] + ' ' + dt_current.getFullYear(),\n "selectToday", dt_today.valueOf() ],\n [ ">", "selectMonth", dt_next_month.valueOf() ],\n [ ">>", "selectYear", dt_next_year.valueOf() ]\n ];\n\n for (i = 0; i < headerValues.length; ++i) {\n var link = createTiddlyElement(header,"td", null, null, headerValues[i][0]);\n if(i==2) link.colSpan=3;\n link.onclick = cm.selectDate;\n link.setAttribute("date", headerValues[i][2]);\n }\n} else {\n var link = createTiddlyElement(header,"td", null, null, cm.options.calendarMonths[dt_current.getMonth()] + ' ' + dt_current.getFullYear());\nlink.colSpan=7;\n}\n\n // 2 - print weekdays titles\n line = createTiddlyElement(area, "tr", "weekNames");\n for (var n = 0; n < 7; ++n) {\n createTiddlyElement(line, "td", null, null, cm.options.calendarWeekDays[(cm.options.calendarWeekStart + n)%7]);\n }\n\n // 3 - calendar days table\n var dt_current_day = new Date(dt_firstday);\n var day_class;\n var title;\n var holiday_name;\n var popup;\n var clickHandler;\n\n while (dt_current_day.getMonth() == dt_current.getMonth() ||\n dt_current_day.getMonth() == dt_firstday.getMonth()) {\n\n // print row header\n line = createTiddlyElement(area, "tr", "calendarLine", null, null);\n for (var n_current_wday = 0; n_current_wday < 7; ++n_current_wday) {\n title = dt_current_day.formatString(cm.options.calendarLongDateFormat);\n clickHandler = cm.onClickOtherDay;\n popup = null;\n holiday_name = cm.calendarIsHoliday(dt_current_day);\n\n if (holiday_name != null) {\n // holidays\n day_class = "holiDay";\n popup = cm.options.calendarHoliday + holiday_name;\n } else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6) {\n // weekend days\n day_class = "weekDay";\n } else {\n // print working days of current month\n day_class = "workingDay";\n }\n\nif(dt_current_day.getMonth() == dt_current.getMonth()){\n if (currentDay.valueOf() == dt_current_day.valueOf()) {\n // print current date\n if (store.tiddlerExists(title)) {\n // day has a tiddler associated with it\n day_class += " currentscheduledDay";\n clickHandler = onClickTiddlerLink;\n popup = cm.options.calendarToday + ": "+ cm.getPopupText(title);\n } else {\n day_class += " currentDay";\n popup = cm.options.calendarToday;\n}\n}\n\n if (store.tiddlerExists(title) && dt_current_day.valueOf() != dt_today.valueOf()) {\n // day has a tiddler associated with it\n day_class += " scheduledDay";\n clickHandler = onClickTiddlerLink;\n popup = cm.getPopupText(title);\n }\n}\n\n // extra formatting for days of previous or next month\n if (dt_current_day.getMonth() != dt_current.getMonth()) {\n day_class += " otherMonthDay";\n }\n\n var text = dt_current_day.getDate();\n var cell = createTiddlyElement(line, "td", null, day_class, text);\n cell.onclick=clickHandler;\n cell.setAttribute("date", dt_current_day.valueOf());\n cell.setAttribute("tiddlyLink", title);\n if(popup) cell.setAttribute("title", popup);\n\n dt_current_day.setDate(dt_current_day.getDate()+1);\n }\n }\n}\n\nconfig.macros.calendar.handler = function(place, macroName, params) {\n var start_date = new Array();\n var date;\n var n_rows = 1;\n var n_cols = 1;\n var n_months = 1;\n var setControls = 1;\n switch(params.length){\n case 0:\n date = new Date();\n // filter time values off\n start_date[0] = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n break;\n case 1:\n for(var i = 0; i < 12; i++){\n start_date[i] = new Date(params[0], i, 1);\n }\n n_rows = 4;\n n_cols = 3;\n n_months = 12;\n break;\n case 2:\n start_date[0] = new Date(params[0], params[1]-1, 1);\n break;\n case 3:\n n_cols = 3;\n n_months = params[2];\n for(var i = 0; i < n_months; i++){\n start_date[i] = new Date(params[0], params[1]-1+i, 1);\n }\n n_rows = Math.max(1,Math.ceil(n_months/n_cols));\n n_cols = Math.min(n_cols,n_months);\n break;\n case 4:\n n_months = params[2];\n n_cols = params[3];\n for(var i = 0; i < n_months; i++){\n start_date[i] = new Date(params[0], params[1]-1+i, 1);\n }\n n_rows = Math.max(1,Math.ceil(n_months/n_cols));\n n_cols = Math.min(n_cols,n_months);\n break;\n }\n if(n_months>1) setControls = 0;\n var currentDay = new Date();\n currentDay = new Date(currentDay.getFullYear(), currentDay.getMonth(), currentDay.getDate());\n var holder = createTiddlyElement(place, "table", null,"calendarHolder");\n var holderTable = createTiddlyElement(holder, "tbody");\n for(var i = 0; i < n_rows; i++){\n var holderLine = createTiddlyElement(holderTable, "tr");\n for(var j = 0; j < n_cols; j++){\n var holderCell = createTiddlyElement(holderLine, "td");\n if(n_cols*i+j+1<=n_months){\n var calendar = createTiddlyElement(holderCell, "table", "calendarWrapper");\n calendar.setAttribute("name", "calendarWrapper");\n calendar.setAttribute("setControls", setControls);\n calendar.setAttribute("today", start_date[n_cols*i+j].valueOf());\n calendar.setAttribute("currentDay", currentDay.valueOf());\n config.macros.calendar.makeCalendar(calendar, start_date[n_cols*i+j]);\n }\n }\n }\n}\n\nfunction refreshCalendars(hint) {\n var calendars = document.getElementsByName("calendarWrapper");\n var i, c;\n for (i = 0; i < calendars.length; ++i) {\n c = calendars.item(i);\n if (c.id == "calendarWrapper") {\n config.macros.calendar.makeCalendar(c, new Date(new Number(c.getAttribute("date"))));\n }\n }\n}\n\nstore.addNotification(null, refreshCalendars);\n\nsetStylesheet("/***\sn!Calendar Styles\sn***/\sn/*{{{*/\sn .viewer .calendarHolder {\sn margin-left: auto;\sn margin-right: auto;\sn border: none;\sn}\sn\sn .viewer .calendarHolder table {\sn border: none;\sn margin: 0;\sn}\sn\sn .viewer .calendarHolder tr {\sn border: none;\sn vertical-align: top;\sn}\sn\sn .viewer .calendarHolder td {\sn border: none;\sn vertical-align: top;\sn}\sn\sn .viewer #calendarWrapper {\sn width: 11em;\sn border: 2px solid #4682b4;\sn cursor: pointer;\sn}\sn\sn #calendarWrapper #calendarLine td {\sn height: 0.5em;\sn}\sn\sn #calendarWrapper tr {\sn border:none;\sn}\sn\sn #calendarWrapper td {\sn text-align: center;\sn vertical-align: middle;\sn width: 0%;\sn border:none;\sn}\sn\sn #calendarWrapper #calendarHeader td{\sn color: #ffffff;\sn background-color: #4682b4;\sn height: 2em;\sn}\sn\sn #calendarWrapper #weekNames td {\sn color: #ffffff;\sn background-color: #87cefa;\sn height: 2em;\sn}\sn\sn #calendarWrapper .weekDay {\sn background-color: #ff9999;\sn}\sn\sn #calendarWrapper .holiDay {\sn background-color: #ff0000;\sn}\sn\sn #calendarWrapper .currentDay {\sn border: solid #ff0000 1px;\sn font-weight: bold;\sn}\sn\sn #calendarWrapper .currentscheduledDay {\sn border: solid #ff0000 2px;\sn font-weight: bold;\sn}\sn\sn #calendarWrapper .workingDay {\sn background-color: #ffffff;\sn}\sn\sn #calendarWrapper .scheduledDay {\sn border: solid orange 2px;\sn}\sn\sn #calendarWrapper .otherMonthDay {\sn background-color: #ddd;\sn}\sn\sn/*}}}*/","CalendarStyles");\n}}}
{{{\nversion.extensions.CatalanLingo = {\n major: 1, minor: 0, revision: 3,\n date: new Date(2006, 5, 16), \n type: 'translation',\n source: "http://pacoriviere.googlepages.com/index.htm#CatalanLingo"\n};\nconfig.shadowTiddlers.Copyright = "CatalanLingo - Localització de TiddlyWiki versió 1.0.3 (c) Paco Rivière, 2006. \sn\snSi ''feu servir CatalanLingo públicament'' apreciaria un enllaç cap a (http://pacoriviere.cat/).\sn\sn''L'ús comercial'' requireix permís previ escrit. Contacteu Paco Rivière a (friviere [a] palmcat [punt] cat).\sn\sn!LLICÈNCIA\sn\snCopyright (c) Paco Rivière 2006\sn\snEs permet la distribució del codi font i binari, amb o sense modificacions, sempre que es compleixin les següents condicions:\sn\snLa distribució del codi font ha de mantenir el copyright anterior, aquesta llista de condicions i el següent avís.\sn\snLa distribució del codi binari ha de mantenir el copyright anterior, aquesta llista de condicions i el següent avís a la documentació i/o altres materials subministrats amb la distribució.\sn\snEl nom de Paco Rivière ni els dels seus col·laboradors no es poden fer servir per recolçar o promoure productes derivats d'aquest programari, sense el seu permís explícit previ per escrit.\sn\snELS POSSEÏDORS DEL COPYRIGHT I/O ALTRES PARTS FACILITEN EL PROGRAMARI "TAL QUAL" SENSE CAP MENA DE GARANTIA, NI EXPLÍCITA NI IMPLÍCITA, INCLOSES, ENTRE ALTRES, LES GARANTIES IMPLÍCITES DE COMERCIALITZABILITAT I APTITUD PER A PROPÒSITS DETERMINATS. EN CAP CAS EL POSSEÏDOR DEL COPYRIGHT I/O ALTRES PARTS, TRET DEL QUE REQUEREIXIN ELS ACORDS PER ESCRIT, NO US HAURÀ DE RESPONDRE PER PERJUDICIS, INCLOSOS ELS DIRECTES, INDIRECTES, ESPECIALS, EXEMPLARS, O DANYS CONSEQÜENTS (INCLOSES ENTRE D'ALTRES LES PÈRDUES DE DADES, O BENEFICIS; O INTERRUPCIO DEL NEGOCI), COM SIGUI QUE S'HAGIN PRODUÏT I EN QUALSEVOL TEORIA DE FIABILITAT, TAN SI ÉS EN CONTRACTE, FIABILITAT ESTRICTE, O ALTRES (INCLOSES LA NEGLIGÈNCIA O ALTRES), QUE ES DERIVIN DE L'ÚS DEL PROGRAMA, EN QUALSEVOL FORMA, FINS I TOT SI AQUEST POSSEÏDOR O ALTRA PART HA ESTAT ADVERTIDA DE LA POSSIBILITAT D'AQUESTS PERJUDICIS.";\n\nconfig.commands.closeTiddler.text = "tanca";\nconfig.commands.closeTiddler.tooltip = "Tanca aquest tiddler";\nconfig.commands.closeOthers.text = "tanca altres";\nconfig.commands.closeOthers.tooltip = "Tanca tots els altres tiddlers";\nconfig.commands.editTiddler.text = "edita";\nconfig.commands.editTiddler.tooltip = "Canvia aquest tiddler";\nconfig.commands.editTiddler.readOnlyText = "mostra";\nconfig.commands.editTiddler.readOnlyTooltip = "Mostra el codi d'aquest tiddler";\nconfig.commands.saveTiddler.text = "desa";\nconfig.commands.saveTiddler.tooltip = "Desa els canvis a aquest tiddler";\nconfig.commands.saveTiddler.readOnlyText = "fet";\nconfig.commands.saveTiddler.readOnlyTooltip = "Torna a l'aspecte normal";\nconfig.commands.cancelTiddler.text = "anul·la";\nconfig.commands.cancelTiddler.tooltip = "Anul·la els canvis a aquest tiddler";\nconfig.commands.deleteTiddler.text = "suprimeix";\nconfig.commands.deleteTiddler.tooltip = "Suprimeix aquest tiddler";\nconfig.commands.deleteTiddler.warning = "Segur que voleu que suprimir '%0'?";\nconfig.commands.permalink.text = "enllaç permanent";\nconfig.commands.permalink.tooltip = "Enllaç permanent d'aquest tiddler";\nconfig.commands.references.text = "referències";\nconfig.commands.references.tooltip = "Mostra els tiddlers que enllacen a aquest";\nconfig.commands.references.popupNone = "Sense referències";\nconfig.commands.jump.text = "salta";\nconfig.commands.jump.tooltip = "Salta a un altre tiddler obert";\n\nconfig.macros.allTags.noTags = "No hi ha tiddlers amb etiquetes";\nconfig.macros.allTags.tooltip = "Mostra els tiddlers amb l'etiqueta ";\nconfig.macros.closeAll.label = "tanca tots";\nconfig.macros.closeAll.prompt = "Tanca tots el tiddlers que es mostren (excepte els que s'estàn editant)";\nconfig.macros.list.all.prompt = "Todos els tiddlers por ordre alfabètic";\nconfig.macros.list.missing.prompt = "Tiddlers que tenen enllaços cap a ells però no estàn definits";\nconfig.macros.list.orphans.prompt = "Tiddlers sense enllaços des de cap altre";\nconfig.macros.list.shadowed.prompt = "Tiddlers amb ombres amb contingut per omisió";\nconfig.macros.newJournal.label = "nou diari";\nconfig.macros.newJournal.months = ["de gener de", "de febrer de", "de març de", "d'abril de", "de maig de", "de juny de", "de juliol de", "d'agost de", "de setembre de", "d'octubre de", "de novembre de","de desembre de"];\nconfig.macros.newJournal.prompt = "Fes un tiddler nou amb la data i hora actuals";\nconfig.macros.newTiddler.label = "nou tiddler";\nconfig.macros.newTiddler.title = "Nou tiddler";\nconfig.macros.newTiddler.prompt = "Obre un nou tiddler";\nconfig.macros.permaview.label = "torna vista";\nconfig.macros.permaview.prompt = "Enllaça a una URL que torni tots els tiddlers que es mostren ara";\nconfig.macros.saveChanges.label = "desa els canvis";\nconfig.macros.saveChanges.prompt = "Desa tots els canvis a un arxiu";\nconfig.macros.search.label = "cerca";\nconfig.macros.search.prompt = "Cerca en aquest TiddlyWiki";\nconfig.macros.search.successMsg = "S'han trobat %0 tiddlers que contenent: '%1'";\nconfig.macros.search.failureMsg = "No s'ha trobat cap tiddler amb: '%0'";\nconfig.macros.timeline.dateFormat = "DD MMM YYYY";\nconfig.macros.tagging.label = "etiquetes:";\nconfig.macros.tagging.labelNotTag = "cap etiqueta:";\nconfig.macros.tagging.tooltip = "Llista de tiddlers etiquetats amb '%0'";\n\nconfig.messages.backupFailed = "No ha estat possible desar la còpia de l'arxiu";\nconfig.messages.backupSaved = "S'ha desat la còpia";\nconfig.messages.cantSaveError = "No es poden desar els canvis. Pot ser que el vostre navegador no permeti desar (Podeu fer servir Firefox, en lloc), o degut a que el nom de la ruta de l'arxiu TiddlyWiki té algun caràcter incorrecte";\nconfig.messages.confirmExit = "--------------------------------\sn\snHi ha canvis que no s'han desat al TiddlyWiki. Si continueu perdreu aquests canvis\sn\sn--------------------------------";\nconfig.messages.customConfigError = "Error del tiddler systemConfig '%1' - '%0'";\nconfig.messages.emptyFailed = "No ha estat possible desar la plantilla buida";\nconfig.messages.emptySaved = "S'ha desat la plantilla buida";\nconfig.messages.externalLinkTooltip = "Enllaç extern cap a '%0'";\nconfig.messages.invalidFileError = "Sembla que l'arxiu original '%0' no és un TiddlyWiki vàlid";\nconfig.messages.macroError = "Hi ha un error a la macro <<%0>>";\nconfig.messages.macroErrorDetails = "Hi ha hagut un error a l'executar la macro <<%0>>:\sn%1";\nconfig.messages.missingMacro = "No es troba la macro";\nconfig.messages.mainFailed = "No ha estat possible desar l'arxiu principal de TiddlyWiki. Els vostres canvis no s'han desat";\nconfig.messages.mainSaved = "S'ha desat l'arxiu principal de TiddlyWiki";\nconfig.messages.noTags = "No hi ha tiddlers amb etiquetes";\nconfig.messages.notFileUrlError = "Cal desar aquest TiddlyWiki a un arxiu per poder desar els canvis";\nconfig.messages.overwriteWarning = "Ja hi ha un tiddler amb el nom '%0'. Trieu D'acord si el voleu sobreescriure";\nconfig.messages.rssFailed = "No ha estat possible desar el fil RSS";\nconfig.messages.rssSaved = "S'ha desat el fil RSS";\nconfig.messages.savedSnapshotError = "Sembla que aquest TiddlyWiki s'ha desat malament. Veieu el detalls a http://www.tiddlywiki.com/#DownloadSoftware";\nconfig.messages.subtitleUnknown = "(desconegut)";\nconfig.messages.undefinedTiddlerToolTip = "El tiddler '%0' encara no existeix";\nconfig.messages.shadowedTiddlerToolTip = "El tiddler '%0' encara no existeix, però té un valor d'ombra predefinit";\nconfig.messages.unsavedChangesWarning = "ATENCIÓ! Hi ha canvis que no s'han desat al TiddlyWiki\sn\snTrieu D'acord per desar\snTrieu ANUL·LA per descartar-los";\nconfig.messages.messageClose.text = "tanca";\nconfig.messages.messageClose.tooltip = "Tanca aquest quadre";\nconfig.messages.dates.months = ["de gener de", "de febrer de", "de març de", "d'abril de", "de maig de", "de juny de", "de juliol de", "d'agost de", "de setembre de", "d'octubre de", "de novembre de","de desembre de"];\nconfig.messages.dates.days = ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"];\n\nconfig.views.editor.defaultText = "Entreu el text per a '%0'.";\nconfig.views.editor.tagChooser.popupNone = "No hi ha etiquetes definides";\nconfig.views.editor.tagChooser.tagTooltip = "Afegeix etiqueta ";\nconfig.views.editor.tagChooser.text = "afegeix etiquetes";\nconfig.views.editor.tagChooser.tooltip = "Tria entre les etiquetes actuals per afegir a aquest tiddler";\nconfig.views.editor.tagPrompt = "Afegiu les etiquetes separades per espais, [[feu servir corxets]] si cal, o afegiu-ne";\n\nconfig.shadowTiddlers.OpcionsAvançades = "<<option chkGenerateAnRssFeed>> [[GeneraFilRSS|FilRss]]\sn<<option chkOpenInNewWindow>> ObreEnllaçosEnNovaFinestra\sn<<option chkSaveEmptyTemplate>> DesaPlantillaBuida\sn<<option chkToggleLinks>> Clicant als enllaços a tiddlers ja oberts els tanca\sn^^(s'ignora amb la tecla Control o altre tecla modificadora)^^\sn<<option chkHttpReadOnly>> AmagaBotonsDEdicio al veure's com a HTTP\sn<<option chkForceMinorUpdate>> Tracta les edicions com a CanvisMenors conservant la data i hora\sn^^(s'ignora amb la tecla Shift al clicar 'fet' o amb Ctrl-Shift-Enter^^\sn<<option chkConfirmDelete>> ConfirmaAbansDeSuprimir\snMàxim nombre de línies d'una capsa d'edició tiddler: <<option txtMaxEditRows>>\snNom de la carpeta per als arxius de còpia: <<option txtBackupFolder>>\sn";\nconfig.shadowTiddlers.ActualitzarCatalanLingo = "''Com actualitzar la versió de TiddlyWiki en català'':\sn\snEs recomana treballar sempre amb la darrera versió de CatalanLingo.\sn\sn!Instruccions\sn* Copia el [[contingut d'aquest tiddler|CatalanLingo]], al tiddler ''~CatalanLingo'' del teu TiddlyWiki i ''desa els canvis''.\sn* Només cal seguir aquestes instruccions si ja has afegit continguts (tiddlers) al teu TiddlyWiki. Per començar un nou TiddlyWiki clica [[aquí|BaixaElProgramari]].\sn\sn!Nota tècnica\snLa versió catalana de TiddlyWiki està formada per dues entitats separades, el que facilita l'actualizació del codi i de la traducció de forma independent:\sn* El codi (en anglés) que es troba aquí: http://www.tiddlywiki.com/empty.html\sn* La traducció al català, que es troba aquí: http://pacoriviere.googlepages.com/TiddlyWiki.html#CatalanLingo\snPer disposar de la darrera versió en anglés traduïda al català, només cal baixar els dos arxius anteriors i combinar-los seguint les Instruccions anteriors.\sn\sn!Versions\sn1.0.0 5-5-2006 - Primera versió pública\sn1.0.1 13-5-2006 - Petites correccions\sn1.0.2 14-5-2006 - Connector Calendari\sn1.0.3 15-5-2006 - Connector TriaTema i com ActualitzarCatalanLingo";\nconfig.shadowTiddlers.BaixaElProgramari = "Anem a baixar una còpia de TiddlyWiki que tú podràs modificar al teu ordinador.\sn\snClica [[aquí|http://pacoriviere.googlepages.com/TiddlyWiki.html]] amb el botó dret del ratolí i tria ''Desa l'enllaç al disc''. (No obris la pàgina).\sn\snA partir d'aquí ja pots obrir la pàgina al teu navegador, modificar-la i omplir-la de contingut. Pots fer-la servir al teu ordinador o pujar-la a internet i compartir-la.\sn\snAquí trobaràs una [[èxplicació més detallada|http://pacoriviere.googlepages.com/20minuts.html]]\snActualitzarCatalanLingo";\nconfig.shadowTiddlers.ComComençar = "Per començar amb aquest TiddlyWiki en blanc, heu de modificar els següents tiddlers:\sn* [[TitolDelLloc|SiteTitle]] & [[SubtitolDelLloc|SiteSubtitle]]: El títol i el subtítol del lloc, com es mostra a sobre (un cop desats, també apareixeran a la barra de títols del navegador)\sn* [[MenuPrincipal|MainMenu]]: El menú (normalment a l'esquerra)\sn* [[TiddlersPerOmisio|DefaultTiddlers]]: Conté els noms dels tiddlers que voleu que apareguin quan s'obre el TiddlyWiki\snTambé heu d'entrar el vostre nom d'usuari per signar les vostres edicions: <<option txtUserName>>";\nconfig.shadowTiddlers.Connectors = "Els connectors (plugins) permeten ampliar les funcions de [[TiddlyWiki]]:\sn\sn* ''En català'':\sn** [[Calendari|http://pacoriviere.googlepages.com/CalendariPlugin.html]] Calendari i agenda.\sn** [[Tria el Tema|http://pacoriviere.googlepages.com/TriaTema.html]] Tria l'aspecte de TiddlyWiki entre diversos fulls d'estil.\sn** [[Presentació|http://pacoriviere.googlepages.com/PresentacioPlugin.html]] Fes presentacions amb TiddlyWiki.\sn\sn* ''En anglés'': http://www.tiddlywiki.com/index.html#Plugins";\nconfig.shadowTiddlers.MainMenu = "ComComençar\snTiddlyWiki\sn[[BaixaElProgramari]]\sn[[Connectors]]\sn[[Donacions]]\sn[[RSS|FilRss]]\sn\sn© 2006 [[osmosoft|http://www.osmosoft.com]]\sn[[©|Copyright]] 2006 [[frivière|http://pacoriviere.cat/]]\sn\sn\sn^^TiddlyWiki versió <<version>>^^";\nconfig.shadowTiddlers.DefaultTiddlers = "ComComençar";\nconfig.shadowTiddlers.Donacions = "La localització de TiddlyWiki al català és programari lliure, disponible gratuitament per tothom i sempre ho serà. Si feu servir TiddlyWiki de forma regular i us resulta útil, podeu [[contribuïr amb una donació|https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=friviere%40palmcat%2eorg&amp;item_name=Donaci%c3%b3%20per%20la%20localitzaci%c3%b3%20de%20TiddlyWiki%20al%20catal%c3%a0&amp;item_number=0035&amp;amount=10%2e00&amp;no_shipping=0&amp;no_note=1&amp;tax=0&amp;currency_code=EUR&amp;bn=PP%2dDonationsBF&amp;charset=UTF%2d8]] encara que sigui modesta a PayPal (com ara 10 Euros)";\nconfig.shadowTiddlers.FilRss = "El fill RSS es troba [[aquí|index.xml]]. L'opció de generar un fil RSS encara està en desenvolupament, i s'ha d'acabar de polir en les properes versions. Només incorpora el text sense enllaços ni format, però permet seguir els canvis fàcilment. Podeu crear un fil RSS al vostre propi TiddlyWiki amb l'[[Opció Avançada|AdvancedOptions]] GeneraFilRSS.\sn\snMés informació sobre el fil RSS (en anglés):\sn\snhttp://www.tiddlywiki.com/index.html#RssFeed";\nconfig.shadowTiddlers.SiteTitle = "El meu TiddlyWiki";\nconfig.shadowTiddlers.SiteSubtitle = "bloc web personal no lineal, reutilitzable";\nconfig.shadowTiddlers.TiddlyWiki = "TiddlyWiki en català:\sn\snhttp://pacoriviere.googlepages.com/TiddlyWiki.html\sn[[Guia ràpida en català|http://pacoriviere.googlepages.com/20minuts.html]]\sn\snLloc web original de TiddlyWiki (en anglés):\sn\snhttp://www.tiddlywiki.com/";\n\nconfig.shadowTiddlers.OptionsPanel = "Aquestes [[Opcions d'Interficie|OptionsPanel]] per personalitzar TiddlyWiki es desen al vostre navegador\sn\snEl vostre nom per signar les vostres edicions. Escribiu-lo com una ParaulaWiki (com ara MartiCliment)\sn<<option txtUserName>>\sn<<option chkSaveBackups>> DesaCòpies\sn<<option chkAutoSave>> AutoDesa\sn<<option chkRegExpSearch>> CercaExpReg\sn<<option chkCaseSensitiveSearch>> CercaSensibleACaixa\sn<<option chkAnimate>> ActivaAnimacions\sn\snMostra les OpcionsAvançades";\n\nconfig.shadowTiddlers.SideBarOptions = "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal '0DD MMM YYYY' 'diari'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel opcions 'Canvia les opcions avançades del TiddlyWiki'>>";\n\nconfig.shadowTiddlers.SideBarTabs = "<<tabs txtMainTab 'Data' 'Tiddlers per ordre cronològic' TabTimeline 'Títol' 'Tiddlers per ordre alfabètic' TabAll 'Etiquetes' 'Tiddlers etiquetats' TabTags 'Més' 'Més opcions' TabMore>>";\n\nconfig.shadowTiddlers.TabMore = "<<tabs txtMoreTab 'Falten' 'Tiddlers que no existeixen' TabMoreMissing 'Orfes' 'Tiddlers orfes' TabMoreOrphans Ombres 'Tiddlers amb ombra' TabMoreShadowed>>";\n\nconfig.views.wikified.defaultText = "El tiddler '%0' no existeix. Cliqueu dos cops per començar-lo.";\nconfig.views.wikified.defaultModifier = "(falta)";\nconfig.views.wikified.shadowModifier = "(ombra)";\nconfig.views.wikified.tag.tooltip = "Obre tiddlers marcats amb ";\nconfig.views.wikified.tag.labelTags = "Etiquetes: ";\nconfig.views.wikified.tag.openTag = "Obre l'etiqueta '%0'";\nconfig.views.wikified.tag.labelNoTags = "Sense etiquetes";\nconfig.views.wikified.tag.openAllText = "Obre tots els tiddlers marcats amb '%0'";\nconfig.views.wikified.tag.openAllTooltip = "Obre tots aquests tiddlers";\nconfig.views.wikified.tag.popupNone = "No hi ha altres tiddlers marcats amb '%0'";\n}}}\n
This script is currently setup to allow you to change the 'base colors' in your TW, i.e. the colors defined at the top of the StyleSheetColors tiddler.\n\n''To change a color, click on the little square next to it, choose a new color and click 'Apply new colors'''\n\n<script>\n\nvar createColor = function (color){\n\n createTiddlyElement(place,"br");\n createTiddlyText(place,color+": ");\n var btxt = createTiddlyElement(place,"input",color+"field",null,color);\n var bspan = createTiddlyElement(place,"span");\n bspan.innerHTML = " <a href=\s"javascript:pickColor('"+color+"');\s" id=\s""+color+"\s"\snstyle=\s"border: 1px solid #000000; font-family:Verdana; font-size:10px;\sntext-decoration: none;\s"> </a>";\n}\n\n//createColor("blue1");\n\nvar colors = new Array();\ncolors= ["blue1","blue2","blue3","blue4","yellow1","yellow2","yellow3","yellow4","tred","subgrey"];\nfor (var i=0; i<colors.length;i++)\n {createColor(colors[i]);}\n</script>\n\n\n\n<script label="apply new colors">\n\nfunction getObj(id){\n obj = document.getElementById(id);\n return obj;\n}\n\nvar blue1 = getObj("blue1field").value;\nvar blue2 = getObj("blue2field").value;\nvar blue3 = getObj("blue3field").value;\nvar blue4 = getObj("blue4field").value; \nvar tred = getObj("tredfield").value;\nvar yellow1 = getObj("yellow1field").value;\nvar yellow2 = getObj("yellow2field").value;\nvar yellow3 = getObj("yellow3field").value;\nvar yellow4 = getObj("yellow4field").value;\nvar subgrey = getObj("subgreyfield").value;\n\nvar db = "/***\sn\sn|''blue1:''|"+blue1+"|\sn|''blue2:''|"+blue2+"|\sn|''blue3:''|"+blue3+"|\sn|''blue4:''|"+blue4+"|\sn|''yellow1:''|"+yellow1+"|\sn|''yellow2:''|"+yellow2+"|\sn|''yellow3:''|"+yellow3+"|\sn|''yellow4:''|"+yellow4+"|\sn|''tred:''|"+tred+"|\sn|''subgrey:''|"+subgrey+"|\sn***/\sn\sn";\n\nvar sub = db + "/***\sn!Colors Used\sn*@@bgcolor(#8cf): #8cf - Background blue@@ blue1\sn*@@bgcolor(#18f): #18f - Top blue@@ blue2\sn*@@bgcolor(#04b): #04b - Mid blue@@ blue3\sn*@@bgcolor(#014):color(#fff): #014 - Bottom blue@@ blue4\sn*@@bgcolor(#ffc): #ffc - Bright yellow@@ yellow1\sn*@@bgcolor(#fe8): #fe8 - Highlight yellow@@ yellow2\sn*@@bgcolor(#db4): #db4 - Background yellow@@ yellow3\sn*@@bgcolor(#841): #841 - Border yellow@@ yellow4\sn*@@bgcolor(#703):color(#fff): #703 - Title red@@ tred\sn*@@bgcolor(#866): #866 - Subtitle grey@@ subgrey\sn!Generic Rules /%==============================================%/\sn***/\sn/*{{{*/\snbody {\sn background: #fff;\sn color: #000;\sn}\sn\sna{\sn color: "+blue3+";\sn}\sn\sna:hover{\sn background: "+blue3+";\sn color: #fff;\sn}\sn\sna img{\sn border: 0;\sn}\sn\snh1,h2,h3,h4,h5 {\sn color: "+tred+";\sn background: "+blue1+";\sn}\sn\sn.button {\sn color: "+blue4+";\sn border: 1px solid #fff;\sn}\sn\sn.button:hover {\sn color: "+blue4+";\sn background: "+yellow2+";\sn border-color: "+yellow3+";\sn}\sn\sn.button:active {\sn color: #fff;\sn background: "+yellow3+";\sn border: 1px solid "+yellow4+";\sn}\sn\sn/*}}}*/\sn/***\sn!Header /%==================================================%/\sn***/\sn/*{{{*/\sn.header {\sn background: "+blue3+";\sn}\sn\sn.headerShadow {\sn color: #000;\sn}\sn\sn.headerShadow a {\sn font-weight: normal;\sn color: #000;\sn}\sn\sn.headerForeground {\sn color: #fff;\sn}\sn\sn.headerForeground a {\sn font-weight: normal;\sn color: "+blue1+";\sn}\sn\sn/*}}}*/\sn/***\sn!General tabs /%=================================================%/\sn***/\sn/*{{{*/\sn\sn.tabSelected{\sn color: "+blue4+";\sn background: #eee;\sn border-left: 1px solid #ccc;\sn border-top: 1px solid #ccc;\sn border-right: 1px solid #ccc;\sn}\sn\sn.tabUnselected {\sn color: #fff;\sn background: #999;\sn}\sn\sn.tabContents {\sn color: "+blue4+";\sn background: #eee;\sn border: 1px solid #ccc;\sn}\sn\sn.tabContents .button {\sn border: 0;}\sn\sn/*}}}*/\sn/***\sn!Sidebar options /%=================================================%/\sn~TiddlyLinks and buttons are treated identically in the sidebar and slider panel\sn***/\sn/*{{{*/\sn#sidebar {\sn}\sn\sn#sidebarOptions input {\sn border: 1px solid "+blue3+";\sn}\sn\sn#sidebarOptions .sliderPanel {\sn background: "+blue1+";\sn}\sn\sn#sidebarOptions .sliderPanel a {\sn border: none;\sn color: "+blue3+";\sn}\sn\sn#sidebarOptions .sliderPanel a:hover {\sn color: #fff;\sn background: "+blue3+";\sn}\sn\sn#sidebarOptions .sliderPanel a:active {\sn color: "+blue3+";\sn background: #fff;\sn}\sn/*}}}*/\sn/***\sn!Message Area /%=================================================%/\sn***/\sn/*{{{*/\sn#messageArea {\sn border: 1px solid "+yellow4+";\sn background: "+yellow3+";\sn color: "+blue4+";\sn}\sn\sn#messageArea .button {\sn padding: 0.2em 0.2em 0.2em 0.2em;\sn color: "+blue4+";\sn background: #fff;\sn}\sn\sn/*}}}*/\sn/***\sn!Popup /%=================================================%/\sn***/\sn/*{{{*/\sn.popup {\sn background: "+blue2+";\sn border: 1px solid "+blue3+";\sn}\sn\sn.popup hr {\sn color: "+blue4+";\sn background: "+blue4+";\sn border-bottom: 1px;\sn}\sn\sn.popup li.disabled {\sn color: "+blue3+";\sn}\sn\sn.popup li a, .popup li a:visited {\sn color: #eee;\sn border: none;\sn}\sn\sn.popup li a:hover {\sn background: "+blue4+";\sn color: #fff;\sn border: none;\sn}\sn/*}}}*/\sn/***\sn!Tiddler Display /%=================================================%/\sn***/\sn/*{{{*/\sn.tiddler .defaultCommand {\sn font-weight: bold;\sn}\sn\sn.shadow .title {\sn color: "+subgrey+";\sn}\sn\sn.title {\sn color: "+tred+";\sn}\sn\sn.subtitle {\sn color: "+subgrey+";\sn}\sn\sn.toolbar {\sn color: "+blue3+";\sn}\sn\sn.tagging, .tagged {\sn border: 1px solid #eee;\sn background-color: #eee;\sn}\sn\sn.selected .tagging, .selected .tagged {\sn background-color: #ddd;\sn border: 1px solid #bbb;\sn}\sn\sn.tagging .listTitle, .tagged .listTitle {\sn color: "+blue4+";\sn}\sn\sn.tagging .button, .tagged .button {\sn border: none;\sn}\sn\sn.footer {\sn color: #ddd;\sn}\sn\sn.selected .footer {\sn color: #888;\sn}\sn\sn.sparkline {\sn background: "+blue1+";\sn border: 0;\sn}\sn\sn.sparktick {\sn background: "+blue4+";\sn}\sn\sn.errorButton {\sn color: #ff0;\sn background: #f00;\sn}\sn\sn.cascade {\sn background: #eef;\sn color: #aac;\sn border: 1px solid #aac;\sn}\sn\sn.imageLink, #displayArea .imageLink {\sn background: transparent;\sn}\sn\sn/*}}}*/\sn/***\sn''The viewer is where the tiddler content is displayed'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn\sn.viewer .listTitle {list-style-type: none; margin-left: -2em;}\sn\sn.viewer .button {\sn border: 1px solid "+yellow3+";\sn}\sn\sn.viewer blockquote {\sn border-left: 3px solid #666;\sn}\sn\sn.viewer table {\sn border: 2px solid #333;\sn}\sn\sn.viewer th, thead td {\sn background: "+yellow3+";\sn border: 1px solid #666;\sn color: #fff;\sn}\sn\sn.viewer td, .viewer tr {\sn border: 1px solid #666;\sn}\sn\sn.viewer pre {\sn border: 1px solid "+yellow2+";\sn background: "+yellow1+";\sn}\sn\sn.viewer code {\sn color: "+tred+";\sn}\sn\sn.viewer hr {\sn border: 0;\sn border-top: dashed 1px #666;\sn color: #666;\sn}\sn\sn.highlight, .marked {\sn background: "+yellow2+";\sn}\sn/*}}}*/\sn/***\sn''The editor replaces the viewer in the tiddler'' /%------------------------------------------------%/\sn***/\sn/*{{{*/\sn.editor input {\sn border: 1px solid "+blue3+";\sn}\sn\sn.editor textarea {\sn border: 1px solid "+blue3+";\sn width: 100%;\sn}\sn\sn.editorFooter {\sn color: #aaa;\sn}\sn\sn/*}}}*/";\n\nvar sT = store.getTiddler("Style1");\nsT.set(sT.title,sub,sT.modifier,sT.modified,sT.tags,sT.created);\nrefreshStyles("StyleSheet");\n</script>\n<script>\n\nfunction resetColorsSwitcher(){\n\nvar colors = new Array();\ncolors= ["blue1","blue2","blue3","blue4","yellow1","yellow2","yellow3","yellow4","tred","subgrey"];\nfor (var i=0; i<colors.length;i++)\n{var color = store.getEmbeddedValue("Style1",colors[i]);\nvar field = getObj(colors[i]+"field");\nvar link = getObj(colors[i]);\nfield.value = color;\nlink.style.background = color;\nlink.style.color = color;}\n}\n\n\nresetColorsSwitcher();\n</script>\n<script label="reset input fields">\n\nfunction resetColorsSwitcher(){\n\nvar colors = new Array();\ncolors= ["blue1","blue2","blue3","blue4","yellow1","yellow2","yellow3","yellow4","tred","subgrey"];\nfor (var i=0; i<colors.length;i++)\n{var color = store.getEmbeddedValue("Style1",colors[i]);\nvar field = getObj(colors[i]+"field");\nvar link = getObj(colors[i]);\nfield.value = color;\nlink.style.background = color;\nlink.style.color = color;}\n}\n\nresetColorsSwitcher();\n\n\n</script>
|bgcolor(#FFFFFF):FFF FFF |bgcolor(#CCCCCC):CCC CCC |bgcolor(#999999):999 999 |bgcolor(#666666):@@color(white):666 666@@ |bgcolor(#333333):@@color(white):333 333@@ |bgcolor(#000000):@@color(white):000 000@@ |bgcolor(#FFCC00):FFC C00 |bgcolor(#FF9900):~FF9 900 |bgcolor(#FF6600):@@color(white):~FF6 600@@ |bgcolor(#FF3300):@@color(white):~FF3 300@@ |>|>|>|>|>| |\n|bgcolor(#99CC00):99C C00 |>|>|>| |bgcolor(#CC9900):~CC9 900 |bgcolor(#FFCC33):FFC C33 |bgcolor(#FFCC66):FFC C66 |bgcolor(#FF9966):~FF9 966 |bgcolor(#FF6633):@@color(white):~FF6 633@@ |bgcolor(#CC3300):@@color(white):~CC3 300@@ |>|>|>| |bgcolor(#CC0033):@@color(white):~CC0 033@@ |\n|bgcolor(#CCFF00):CCF F00 |bgcolor(#CCFF33):CCF F33 |bgcolor(#333300):@@color(white):333 300@@ |bgcolor(#666600):@@color(white):666 600@@ |bgcolor(#999900):999 900 |bgcolor(#CCCC00):CCC C00 |bgcolor(#FFFF00):FFF F00 |bgcolor(#CC9933):~CC9 933 |bgcolor(#CC6633):@@color(white):~CC6 633@@ |bgcolor(#330000):@@color(white):330 000@@ |bgcolor(#660000):@@color(white):660 000@@ |bgcolor(#990000):@@color(white):990 000@@ |bgcolor(#CC0000):@@color(white):~CC0 000@@ |bgcolor(#FF0000):@@color(white):~FF0 000@@ |bgcolor(#FF3366):@@color(white):~FF3 366@@ |bgcolor(#FF0033):@@color(white):~FF0 033@@ |\n|bgcolor(#99FF00):99F F00 |bgcolor(#CCFF66):CCF F66 |bgcolor(#99CC33):99C C33 |bgcolor(#666633):@@color(white):666 633@@ |bgcolor(#999933):999 933 |bgcolor(#CCCC33):CCC C33 |bgcolor(#FFFF33):FFF F33 |bgcolor(#996600):@@color(white):996 600@@ |bgcolor(#993300):@@color(white):993 300@@ |bgcolor(#663333):@@color(white):663 333@@ |bgcolor(#993333):@@color(white):993 333@@ |bgcolor(#CC3333):@@color(white):~CC3 333@@ |bgcolor(#FF3333):@@color(white):~FF3 333@@ |bgcolor(#CC3366):@@color(white):~CC3 366@@ |bgcolor(#FF6699):@@color(white):~FF6 699@@ |bgcolor(#FF0066):@@color(white):~FF0 066@@ |\n|bgcolor(#66FF00):66F F00 |bgcolor(#99FF66):99F F66 |bgcolor(#66CC33):66C C33 |bgcolor(#669900):669 900 |bgcolor(#999966):999 966 |bgcolor(#CCCC66):CCC C66 |bgcolor(#FFFF66):FFF F66 |bgcolor(#996633):@@color(white):996 633@@ |bgcolor(#663300):@@color(white):663 300@@ |bgcolor(#996666):@@color(white):996 666@@ |bgcolor(#CC6666):@@color(white):~CC6 666@@ |bgcolor(#FF6666):@@color(white):~FF6 666@@ |bgcolor(#990033):@@color(white):990 033@@ |bgcolor(#CC3399):@@color(white):~CC3 399@@ |bgcolor(#FF66CC):@@color(white):~FF6 6CC@@ |bgcolor(#FF0099):@@color(white):~FF0 099@@ |\n|bgcolor(#33FF00):33F F00 |bgcolor(#66FF33):66F F33 |bgcolor(#339900):339 900 |bgcolor(#66CC00):66C C00 |bgcolor(#99FF33):99F F33 |bgcolor(#CCCC99):CCC C99 |bgcolor(#FFFF99):FFF F99 |bgcolor(#CC9966):~CC9 966 |bgcolor(#CC6600):@@color(white):~CC6 600@@ |bgcolor(#CC9999):~CC9 999 |bgcolor(#FF9999):~FF9 999 |bgcolor(#FF3399):@@color(white):~FF3 399@@ |bgcolor(#CC0066):@@color(white):~CC0 066@@ |bgcolor(#990066):@@color(white):990 066@@ |bgcolor(#FF33CC):@@color(white):~FF3 3CC@@ |bgcolor(#FF00CC):@@color(white):~FF0 0CC@@ |\n|bgcolor(#00CC00):00C C00 |bgcolor(#33CC00):33C C00 |bgcolor(#336600):@@color(white):336 600@@ |bgcolor(#669933):669 933 |bgcolor(#99CC66):99C C66 |bgcolor(#CCFF99):CCF F99 |bgcolor(#FFFFCC):FFF FCC |bgcolor(#FFCC99):FFC C99 |bgcolor(#FF9933):~FF9 933 |bgcolor(#FFCCCC):FFC CCC |bgcolor(#FF99CC):~FF9 9CC |bgcolor(#CC6699):@@color(white):~CC6 699@@ |bgcolor(#993366):@@color(white):993 366@@ |bgcolor(#660033):@@color(white):660 033@@ |bgcolor(#CC0099):@@color(white):~CC0 099@@ |bgcolor(#330033):@@color(white):330 033@@ |\n|bgcolor(#33CC33):33C C33 |bgcolor(#66CC66):66C C66 |bgcolor(#00FF00):00F F00 |bgcolor(#33FF33):33F F33 |bgcolor(#66FF66):66F F66 |bgcolor(#99FF99):99F F99 |bgcolor(#CCFFCC):CCF FCC |>|>| |bgcolor(#CC99CC):~CC9 9CC |bgcolor(#996699):@@color(white):996 699@@ |bgcolor(#993399):@@color(white):993 399@@ |bgcolor(#990099):@@color(white):990 099@@ |bgcolor(#663366):@@color(white):663 366@@ |bgcolor(#660066):@@color(white):660 066@@ |\n|bgcolor(#006600):@@color(white):006 600@@ |bgcolor(#336633):@@color(white):336 633@@ |bgcolor(#009900):009 900 |bgcolor(#339933):339 933 |bgcolor(#669966):669 966 |bgcolor(#99CC99):99C C99 |>|>| |bgcolor(#FFCCFF):FFC CFF |bgcolor(#FF99FF):~FF9 9FF |bgcolor(#FF66FF):@@color(white):~FF6 6FF@@ |bgcolor(#FF33FF):@@color(white):~FF3 3FF@@ |bgcolor(#FF00FF):@@color(white):~FF0 0FF@@ |bgcolor(#CC66CC):@@color(white):~CC6 6CC@@ |bgcolor(#CC33CC):@@color(white):~CC3 3CC@@ |\n|bgcolor(#003300):@@color(white):003 300@@ |bgcolor(#00CC33):00C C33 |bgcolor(#006633):@@color(white):006 633@@ |bgcolor(#339966):339 966 |bgcolor(#66CC99):66C C99 |bgcolor(#99FFCC):99F FCC |bgcolor(#CCFFFF):CCF FFF |bgcolor(#3399FF):339 9FF |bgcolor(#99CCFF):99C CFF |bgcolor(#CCCCFF):CCC CFF |bgcolor(#CC99FF):~CC9 9FF |bgcolor(#9966CC):@@color(white):996 6CC@@ |bgcolor(#663399):@@color(white):663 399@@ |bgcolor(#330066):@@color(white):330 066@@ |bgcolor(#9900CC):@@color(white):990 0CC@@ |bgcolor(#CC00CC):@@color(white):~CC0 0CC@@ |\n|bgcolor(#00FF33):00F F33 |bgcolor(#33FF66):33F F66 |bgcolor(#009933):009 933 |bgcolor(#00CC66):00C C66 |bgcolor(#33FF99):33F F99 |bgcolor(#99FFFF):99F FFF |bgcolor(#99CCCC):99C CCC |bgcolor(#0066CC):@@color(white):006 6CC@@ |bgcolor(#6699CC):669 9CC |bgcolor(#9999FF):999 9FF |bgcolor(#9999CC):999 9CC |bgcolor(#9933FF):@@color(white):993 3FF@@ |bgcolor(#6600CC):@@color(white):660 0CC@@ |bgcolor(#660099):@@color(white):660 099@@ |bgcolor(#CC33FF):@@color(white):~CC3 3FF@@ |bgcolor(#CC00FF):@@color(white):~CC0 0FF@@ |\n|bgcolor(#00FF66):00F F66 |bgcolor(#66FF99):66F F99 |bgcolor(#33CC66):33C C66 |bgcolor(#009966):009 966 |bgcolor(#66FFFF):66F FFF |bgcolor(#66CCCC):66C CCC |bgcolor(#669999):669 999 |bgcolor(#003366):@@color(white):003 366@@ |bgcolor(#336699):@@color(white):336 699@@ |bgcolor(#6666FF):@@color(white):666 6FF@@ |bgcolor(#6666CC):@@color(white):666 6CC@@ |bgcolor(#666699):@@color(white):666 699@@ |bgcolor(#330099):@@color(white):330 099@@ |bgcolor(#9933CC):@@color(white):993 3CC@@ |bgcolor(#CC66FF):@@color(white):~CC6 6FF@@ |bgcolor(#9900FF):@@color(white):990 0FF@@ |\n|bgcolor(#00FF99):00F F99 |bgcolor(#66FFCC):66F FCC |bgcolor(#33CC99):33C C99 |bgcolor(#33FFFF):33F FFF |bgcolor(#33CCCC):33C CCC |bgcolor(#339999):339 999 |bgcolor(#336666):@@color(white):336 666@@ |bgcolor(#006699):@@color(white):006 699@@ |bgcolor(#003399):@@color(white):003 399@@ |bgcolor(#3333FF):@@color(white):333 3FF@@ |bgcolor(#3333CC):@@color(white):333 3CC@@ |bgcolor(#333399):@@color(white):333 399@@ |bgcolor(#333366):@@color(white):333 366@@ |bgcolor(#6633CC):@@color(white):663 3CC@@ |bgcolor(#9966FF):@@color(white):996 6FF@@ |bgcolor(#6600FF):@@color(white):660 0FF@@ |\n|bgcolor(#00FFCC):00F FCC |bgcolor(#33FFCC):33F FCC |bgcolor(#00FFFF):00F FFF |bgcolor(#00CCCC):00C CCC |bgcolor(#009999):009 999 |bgcolor(#006666):@@color(white):006 666@@ |bgcolor(#003333):@@color(white):003 333@@ |bgcolor(#3399CC):339 9CC |bgcolor(#3366CC):@@color(white):336 6CC@@ |bgcolor(#0000FF):@@color(white):000 0FF@@ |bgcolor(#0000CC):@@color(white):000 0CC@@ |bgcolor(#000099):@@color(white):000 099@@ |bgcolor(#000066):@@color(white):000 066@@ |bgcolor(#000033):@@color(white):000 033@@ |bgcolor(#6633FF):@@color(white):663 3FF@@ |bgcolor(#3300FF):@@color(white):330 0FF@@ |\n|bgcolor(#00CC99):00C C99 |>|>|>| |bgcolor(#0099CC):009 9CC |bgcolor(#33CCFF):33C CFF |bgcolor(#66CCFF):66C CFF |bgcolor(#6699FF):669 9FF |bgcolor(#3366FF):@@color(white):336 6FF@@ |bgcolor(#0033CC):@@color(white):003 3CC@@ |>|>|>| |bgcolor(#3300CC):@@color(white):330 0CC@@ |\n|>|>|>|>|>| |bgcolor(#00CCFF):00C CFF |bgcolor(#0099FF):009 9FF |bgcolor(#0066FF):@@color(white):006 6FF@@ |bgcolor(#0033FF):@@color(white):003 3FF@@ |>|>|>|>|>| |
Per què actualitzar TW?\n\nPotser l'únic motiu és que trobis un connector que t'interessa, que necessita una versió més actual que la que fas servir a la teva web.\n\nA part d'això, teòricament també podria sortir alguna versió que millorés algún punt feble o problema de seguretat.\n\nIntroducció\nQuan vaig començar a treballar amb TW, el 19 d'abril de 2006, estava a la versió 2.0.8 i no hi havia versió en català.\n\nAbans que vaig acabar de revisar la primera versió definitiva de la versió de TW en català, TW ja havia avançat alguna versió.\n\nAixí és que he actualitzat molts ~TWs des de llavors de moltes formes diferents, i penso que la manera més senzilla és fent servir dos connectors, que es diuen [[ExportPlugin|http://www.tiddlytools.com/#ExportTiddlersPlugin]] i [[ImportPlugin|http://www.tiddlytools.com/#ImportTiddlersPlugin]] (en anglés).\n\nActualitzar amb [[ExportPlugin|http://www.tiddlytools.com/#ExportTiddlersPlugin]] i [[ImportPlugin|http://www.tiddlytools.com/#ImportTiddlersPlugin]]\n\n 1. Baixa la nova versió de TW a la que vols actualitzar\n 2. Baixa els dos connectors: [[ExportPlugin|http://www.tiddlytools.com/#ExportTiddlersPlugin]] i [[ImportPlugin|http://www.tiddlytools.com/#ImportTiddlersPlugin]]\n 3. Instal·la el connector [[ExportPlugin|http://www.tiddlytools.com/#ExportTiddlersPlugin]] a la teva web\n 4. Instal·la el connector [[ImportPlugin|http://www.tiddlytools.com/#ImportTiddlersPlugin]] a la nova versió de TW\n 5. Obre la teva web i exporta tots els tiddlers, seguint les instruccions del connector. Això genera un arxiu amb els tiddlers.\n 6. Obre la teva web i importa l'arxiu anterior amb tots els tiddlers, seguint les instruccions del connector.\n\nExtret del curs Web 2.0 del [[Paco Rivière|http://www.pacoriere.cat]] Juliol 2006
Per poder posar caràcter especials cal instal·lar el tiddler HtmlEntities. \nObriu el tiddler HtmlEntities. Copieu-lo i enganxeu-lo en un tiddler al vostre TW
<<tabs txtFavourite\n"Sucres" "Clica aquí" [[Sucres]]\n"Greixos" "Clica aquí" [[Greixos]]\n"Proteïnes" "Clica aquí" [[Proteïnes]]\n>>
<<tabs txtFavourite\n"No elaborats" "Clica aquí" [[Aliments no elaborats]]\n"Elaborats" "Clica aquí" [[Aliments elaborats]]\n>>
Problemes freqüents (clica a sobre del botó):\n\n<<tabs txtFavourite\n"Ajuda bàsica" "Clica aquí" [[Ajuda bàsica]]\n"Ajuda avançada" "Clica aquí" [[Ajuda avançada]]\n>>\n
Per començar amb aquest TiddlyWiki blanc, heu de modificar els següents tiddlers:\n* TitolDelLloc & SubtitolDelLloc: El títol i el subtítol del lloc, com es mostra a sobre (un cop desats, també apareixeran a la barra de títols del navegador)\n* MenuPrincipal: El menú (normalment a l'esquerra)\n* TiddlersPerOmisio: Conté els noms dels tiddlers que voleu que apareguin quan s'obre el TiddlyWiki\nTambé heu d'entrar el vostre nom d'usuari per signar les vostres edicions: <<option txtUserName>>
[[Comic Sans|http://www.myfonts.com/fonts/ascender/comic-sans/]] és una tipografia que se n'ha abusat molt. Tant, que fins-i-tot ofèn veure-la per tot arreu: una carta, l'acta de la Comissió Pedagògica, una presentació de diapositives, logotips... Ouffff!\n\n[[Vincent Connare|http://www.myfonts.com/person/connare/vincent/]] n'és l'autor. A la seva pàgina es pot llegir un breu article –[[Why Comic Sans?|http://www.connare.com/comic.htm]]– on explica què el va motivar a dissenyar aquesta tipografia, i on ''denuncia'' la publicació per part d'Apple del que considera un plagi de CS, Chalkboard. \n\nSi ets de les persones que s'ofèn al veure la Comic Sans per tot arreu, llegeix aquest article i potser a partir d'ara veuràs aquesta tipografia amb una altres ulls.
Connectors (plugins) per ampliar les funcions de [[TiddlyWiki]] (en anglés):\n\nhttp://www.tiddlywiki.com/index.html#Plugins
<<slider chkTiddlerDesplegable1 [[Tiddler Desplegable1]] "Botó del Tiddler Desplegable 1" "Aquesta és la bafarada del Tiddler Desplegable 1">>\n<<slider chkTiddlerDesplegable2 [[Tiddler Desplegable2]] "Botó del Tiddler Desplegable 2" "Aquesta és la bafarada del Tiddler Desplegable 2">>
<<tabs txtFavourite\n"Pestanya 1" "Clica aquí per veure el contingut de la Pestanya 1" [[Tiddler de la Pestanya1]]\n"Pestanya 2" "Clica aquí per veure el contingut de la Pestanya 2" [[Tiddler de la Pestanya2]]\n>>
Etiquetes\n[[05/08/06 - Constipats tots els servidors de la Xtec ]]\n[[Imatges digitals]]\n[[Comic Sans]]\n[[Recursos TIC per a primària]]\n[[Noam Chomsky parla clar sobre els interesos US-Israel...]]\n[[Fes-ho tu mateix!: Tux de peluix]]\n[[Tots els caràcters Unicode]]\n[[Guia molt ràpida: posicionant elements al TiddlyWiki]]\n[[Per què TiddlyWiki és millor?]]\n[[Guia molt ràpida: seguint els fils RSS amb Akregator]]\n[[Guia molt ràpida: FTP amb EDU365]]\n[[Guia molt ràpida: Editant CSS amb TopStyle]]\nBenvinguts!\n\n
El 'DiccionariDesordenat' és el que el nom indica. L'ordre es complementa amb el desordre i el desordre amb l'ordre. L'ambigüitat de la llengua sempre juga a favor de l'enteniment. El discurs de l'absurd il·lumima el camí. Neveguem la superfície del mar de la ignorància que permet anar baixant i aprofundint les diferents capes de comprensió i comprehensió.
La localització de TiddlyWiki al català és programari lliure, disponible gratuitament per tothom i sempre ho serà. Si feu servir TiddlyWiki de forma regular i us resulta útil, podeu contribuïr amb una donació encara que sigui modesta a PayPal (import sugerit (10 Euros):\n\n[[Al localitzador de TiddlyWiki al català|https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=friviere%40palmcat%2eorg&item_name=Donaci%c3%b3%20per%20la%20localitzaci%c3%b3%20de%20TiddlyWiki%20al%20catal%c3%a0&item_number=0035&amount=10%2e00&no_shipping=0&no_note=1&tax=0¤cy_code=EUR&bn=PP%2dDonationsBF&charset=UTF%2d8]]\n\n[[I a l'autor de TiddlyWiky|http://www.tiddlywiki.com/index.html#Donations]]
El RSS recull totes les entrades al TW. Això és el que s'anomena "fil RSS". M'encanten els RSS. Em permeten fer un seguiment de les novetats que hi ha hagut als fils als quals m'he subscrit d'una manera MOLT ràpida, sense haver d'entrar a la pàgina web. \n\nI com ho faig? \nDoncs amb l'Akregator.\n\nL'Akregator és un lector d'enllaços RSS per l'entorn d'escriptori K, que forma part del PIM del KDE(Personal Information Manager): KMail (correu), Akregator (lector de fils RSS), KPilot (sincronitzadora Palm), Kontact (llibreta d'adreces, calendari, dietari, tasques pendents, notes) i KNode (lector de notícies)...\n\nAra mateix obro una carpeta a l'Akregator i em sindico a les pàgines del Curs Web 2.0 - TW !
[img[Mapa conceptual dels aliments|imatges_tw/mapa-alimentacio.jpg][imatges_tw/mapa-alimentacio.html]\n\n<<slider chkComClassAli [[Com podem classificar els aliments?]] "Com podem classificar els aliments?" "Clica aquí per obrir o tancar la resposta">>\n\n<<slider chkComPotSerAli [[Com poden ser els aliments?]] "Com poden ser els aliments?" "Clica aquí per obrir o tancar la resposta">>\n\n<<slider chkElsAlimentsClass [[Els aliments: classificació...]] "Presentació: La classificació dels aliments" "Clica aquí per obrir o tancar la resposta">>\n
\nCliqueu aquest botó per començar:<<slideShow ''p">>\n\n\n!^^segons l'origen...^^\n* Vegetal\n**Cereals \n**Fruites\n**Llegum\n**Verdures\n**Hortalises\n[img[arròs|imatges_tw/arros.gif]][img[espàrrecs|imatges_tw/esparrecs.gif]]\n\n\n\n\n!^^segons l'origen...^^\n* Animal\n**Làctics\n**Carn\n**Peix\n[img[ou ferrat|imatges_tw/ouferrat.gif]]\n\n\n\n\n----\nEls comentaris es sitúen darrera una línia i no surten a la presentació\n\n\n\n!^^segons el valor nutritiu^^\n*Sucres\n**Blat\n*Grèixos\n**Olis\n*Proteïnes\n**Carn\n*Vitamines\n**Fruita\n[img[formatge|imatges_tw/formatge.gif]]\n\n\n\n\n!^^Elaborats^^\n*Ketchup\n*Pizza\n*Macarrons\n*Melmelada\n*Ou ferrat\n[img[ou ferrat|imatges_tw/ouferrat.gif]]\n\n\n\n\n\n\n!^^No elaborats^^\n*Tomàquet\n*Enciam\n*Poma\n*Llet\n*Pera\n[img[pera|imatges_tw/pera.gif]]\n\n\n\n\n\n\n\n\n!Fi\n\n\n\n\n\nPasseu el ratolí per la part inferior dreta, per veure els controls de diapositives.\nToqueu la tecla ''Esc'' per tornar.
[[Mapa conceptual dels aliments|imatges_tw/mapa-alimentacio.html]]
He anat al meu TW a sindicar-me a mi mateix... i no hi he trobat res!\n\nCom és possible? Si quan deso els canvis em surt un missatge qu "s'ha generat un nou fil RSS"? No ho entenc...\n\nCom que no paro, vaig amunt i avall tota l'estona, ara arriba un correu i el contesto, deixo estar això dels RSS cinc minuts... el temps necessari!\n\nVisito www.pacoriviere.cat a la recerca de respostes. Remeno una mica, i EUREKA.\n\nM'he oblidat de pujar el fitxer amb els fils RSS!\n\nCada cop que el TW es desa, genera un fil RSS que va a parar a un fitxer xml. Només cal pujar-lo amb el TW cada cop que l'actualitzo. L'entrada del menú RSS enllaça amb aquest fitxer. \n\nJa m'he sindicat!
Estàs intentant modificar la pàgina original, no la teva còpia local, és a dir la que has desat al teu ordinador.\n\nNota: Algunes versions d'Internet Explorer poden donar aquest problema. Intenta fer servir [[Firefox]].
\n<<slider chkEntityCIDofE [[Entity - From The Collaborative International Dictionary of English v.0.48]]"From The Collaborative International Dictionary of English v.0.48" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkEntityWordlNet [[Entity - From WordNet (r) 2.0]]"From WordNet (r) 2.0" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkEntityMobyThes [[Entity - From Moby Thesaurus II by Grady Ward, 1.0]]"From Moby Thesaurus II by Grady Ward, 1.0" "Clica aquí per obrir o tancar la resposta">>\n
''entity'': //47 Moby Thesaurus words//\nan existence, article, being, body, creature, critter, ens, entelechy, esse, essence, existence, existent, individual, integer, integral, integrate, item, life, material, materiality, matter, module, monad, object, occurrence, organism, person, persona, personality, point, presence, quantity, quiddity, quintessence, single, singleton, something, soul, stuff, subsistence, substance,\nsubstantiality, sum, system, thing, totality, unit\n
''Entity'' //En"ti*ty//\nn.; pl. {Entities}. [LL. entitas, fr. L. ens, entis, thing, prop. p. pr. of esse to be: cf. F. entit['e]. See Essence}, {Is}.]\nA real being, whether in thought (as an ideal conception) or\nin fact; being; essence; existence.\n[1913 Webster]\n\nSelf-subsisting entities, such as our own personality. --Shairp.\n[1913 Webster]\n\nFortune is no real entity, . . . but a mere relative signification. --Bentley.\n[1913 Webster]\n
''entity''\nn : that which is perceived or known or inferred to have its own\ndistinct existence (living or nonliving)\n
<<tagCloud auto excludeLists excludeSearch systemConfig>>
Remenant, remenant he trobat unes etiquetes que m'han semblat extranyes. He seguit el rastre que anaven deixant, et voilà! Dues etiquetes que ja he incorporat!\n\nexcludeLists\n\nHe etiquetat amb exludeLists els tiddlers que no vull que surtin al "Diari". Per exemple "Connectors"\n\n\nexcludeSearch\n\nHe etiquetat amb "excludeSearch" els tiddlers que no vull que siguin retornats en una cerca.
/***\n''Export Tiddlers Plugin for TiddlyWiki version 2.0''\n^^author: Eric Shulman - ELS Design Studios\nsource: http://www.TiddlyTools.com/#ExportTiddlersPlugin\nlicense: [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]^^\n\nWhen many people edit copies of the same TiddlyWiki document, the ability to easily copy and share these changes so they can then be redistributed to the entire group is very important. This ability is also very useful when moving your own tiddlers from document to document (e.g., when upgrading to the latest version of TiddlyWiki, or 'pre-loading' your favorite stylesheets into a new 'empty' TiddlyWiki document.)\n\nExportTiddlersPlugin let you ''select and extract tiddlers from your ~TiddlyWiki documents and save them to a local file'' or a remote server (requires installation of compatible server-side scripting, still under development...). An interactive control panel lets you specify a destination, and then select which tiddlers to export. A convenient 'selection filter' helps you pick desired tiddlers by specifying a combination of modification dates, tags, or tiddler text to be matched or excluded. ''Tiddler data can be output as ~TiddlyWiki "storeArea ~DIVs" that can be imported into another ~TiddlyWiki or as ~RSS-compatible XML that can be published for RSS syndication.''\n\n!!!!!Inline interface (live)\n<<<\n<<exportTiddlers inline>>\n<<<\n!!!!!Usage\n<<<\nOptional "special tiddlers" used by this plugin:\n* SiteUrl^^\nURL for official server-published version of document being viewed (used in XML export)\ndefault: //none//^^\n* SiteHost^^\nhost name/address for remote server (e.g., "www.server.com" or "192.168.1.27")\ndefault: //none//^^\n* SitePost^^\nremote path/filename for submitting changes (e.g., "/cgi-bin/submit.cgi")\ndefault: //none//^^\n* SiteParams^^\narguments (if any) for server-side receiving script\ndefault: //none//^^\n* SiteNotify^^\naddresses (if any) for sending automatic server-side email notices\ndefault: //none//^^\n* SiteID^^\nusername or other authorization identifier for login-controlled access to remote server\ndefault: current TiddlyWiki username (e.g., "YourName")^^\n* SiteDate^^\nstored date/time stamp for most recent published version of document\ndefault: current document.modified value (i.e., the 'file date')^^\n<<<\n!!!!!Example\n<<<\n<<exportTiddlers>>\n<<<\n!!!!!Installation\n<<<\nImport (or copy/paste) the following tiddlers into your document:\n''ExportTiddlersPlugin'' (tagged with <<tag systemConfig>>)\n\ncreate/edit ''SideBarOptions'': (sidebar menu items) \n^^Add {{{<<exportTiddlers>>}}} macro^^\n<<<\n!!!!!Revision History\n<<<\n''2006.05.11 [2.2.2]''\nin createExportPanel, removed call to addNotification() to no longer auto-refresh the list every time a tiddler is changed. Instead, call refreshExportList(0) only when the panel is first rendered and each time it is made visible. Prevents unneeded feedback messages from being displayed and increases overall document performance, since the listbox is no longer being updated each time a tiddler is saved.\n''2006.05.02 [2.2.1]''\nUse displayMessage() to show number of selected tiddlers instead of updating listbox 'header' item after each selection. Prevents awkward 'scroll-to-top' behavior that made multi-select via ctrl-click nearly impossible. Reported by Paul Reiber.\n''2006.04.29 [2.2.0]''\nNew features: "Notes" are free-form text that is inserted in the header of a TWDIV export file. When exporting to a server, the "notify" checkbox indicates that server-side script processing should send an email message when the export file is stored on the server. Comma-separated addresses may be typed in, or pre-defined in the SiteNotify tiddler.\n''2006.03.29 [2.1.3]''\nadded calls to convertUnicodeToUTF8() for generated output, so it better handles international characters.\n''2006.02.12 [2.1.2]''\nadded var to unintended global 'tags' in matchTags(). Avoids FF1501 bug when filtering by tags. (based on report by TedPavlic)\n''2006.02.04 [2.1.1]''\nadded var to variables that were unintentionally global. Avoids FireFox 1.5.0.1 crash bug when referencing global variables\n''2006.02.02 [2.1.0]''\nAdded support for output of complete TiddlyWiki documents. Let's you use ExportTiddlers to generate 'starter' documents from selected tiddlers.\n''2006.01.21 [2.0.1]''\nDefer initial panel creation and only register a notification function when panel first is created\nin saveChanges 'hijack', create panel as needed. Note: if window.event is not available to identify the click location, the export panel is positioned relative to the 'tiddlerDisplay' element of the TW document.\n''2005.12.27 [2.0.0]''\nUpdate for TW2.0\nDefer initial panel creation and only register a notification function when panel first is created\n''2005.12.24 [0.9.5]''\nMinor adjustments to CSS to force correct link colors regardless of TW stylesheet selection\n''2005.12.16 [0.9.4]''\nDynamically create/remove exportPanel as needed to ensure only one instance of interface elements exists, even if there are multiple instances of macro embedding.\n''2005.11.15 [0.9.2]''\nadded non-Ajax post function to bypass javascript security restrictions on cross-domain I/O. Moved AJAX functions to separate tiddler (no longer needed here). Generalized HTTP server to support UnaWiki servers\n''2005.11.08 [0.9.1]''\nmoved HTML, CSS and control initialization into exportInit() function and call from macro handler instead of at load time. This allows exportPanel to be placed within the same containing element as the "export tiddlers" button, so that relative positioning can be achieved.\n''2005.10.28 [0.9.0]''\nadded 'select opened tiddlers' feature\nBased on a suggestion by Geoff Slocock\n''2005.10.24 [0.8.3]''\nCorrected hijack of 'save changes' when using http:\n''2005.10.18 [0.8.2]''\nadded AJAX functions\n''2005.10.18 [0.8.1]''\nCorrected timezone handling when filtering for date ranges.\nImproved error checking/reporting for invalid filter values and filters that don't match any tiddlers.\nExporting localfile-to-localfile is working for IE and FF\nExporting server-to-localfile works in IE (after ActiveX warnings), but has security issues in FF\nCross-domain exporting (localfile/server-to-server) is under development\nCookies to remember filter settings - coming soon\nMore style tweaks, minor text changes and some assorted layout cleanup.\n''2005.10.17 [0.8.0]''\nFirst pre-release.\n''2005.10.16 [0.7.0]''\nfilter by tags\n''2005.10.15 [0.6.0]''\nfilter by title/text\n''2005.10.14 [0.5.0]''\nexport to local file (DIV or XML)\n''2005.10.14 [0.4.0]''\nfilter by start/end date\n''2005.10.13 [0.3.0]''\npanel interaction\n''2005.10.11 [0.2.0]''\npanel layout\n''2005.10.10 [0.1.0]''\ncode framework\n''2005.10.09 [0.0.0]''\ndevelopment started\n<<<\n!!!!!Credits\n<<<\nThis feature was developed by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]]\n<<<\n!!!!!Code\n***/\n// // +++[version]\n//{{{\nversion.extensions.exportTiddlers = {major: 2, minor: 2, revision: 2, date: new Date(2006,5,2)};\n//}}}\n// //===\n\n// // +++[macro handler]\n//{{{\nconfig.macros.exportTiddlers = {\n label: "export tiddlers",\n prompt: "Copy selected tiddlers to an export document",\n datetimefmt: "0MM/0DD/YYYY 0hh:0mm:0ss" // for "filter date/time" edit fields\n};\n\nconfig.macros.exportTiddlers.handler = function(place,macroName,params) {\n if (params[0]!="inline")\n { createTiddlyButton(place,this.label,this.prompt,onClickExportMenu); return; }\n var panel=createExportPanel(place);\n panel.style.position="static";\n panel.style.display="block";\n}\n\nfunction createExportPanel(place) {\n var panel=document.getElementById("exportPanel");\n if (panel) { panel.parentNode.removeChild(panel); }\n setStylesheet(config.macros.exportTiddlers.css,"exportTiddlers");\n panel=createTiddlyElement(place,"span","exportPanel",null,null)\n panel.innerHTML=config.macros.exportTiddlers.html;\n exportShowPanel(document.location.protocol);\n exportInitFilter();\n refreshExportList(0);\n return panel;\n}\n\nfunction onClickExportMenu(e)\n{\n if (!e) var e = window.event;\n var parent=resolveTarget(e).parentNode;\n var panel = document.getElementById("exportPanel");\n if (panel==undefined || panel.parentNode!=parent)\n panel=createExportPanel(parent);\n var isOpen = panel.style.display=="block";\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(panel,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n panel.style.display = isOpen ? "none" : "block" ;\n if (panel.style.display!="none") refreshExportList(0); // update list when panel is made visible\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n//}}}\n// //===\n\n// // +++[Hijack saveChanges] diverts 'notFileUrlError' to display export control panel instead\n//{{{\nwindow.coreSaveChanges=window.saveChanges;\nwindow.saveChanges = function()\n{\n if (document.location.protocol=="file:") { coreSaveChanges(); return; }\n var e = window.event;\n var parent=e?resolveTarget(e).parentNode:document.body;\n var panel = document.getElementById("exportPanel");\n if (panel==undefined || panel.parentNode!=parent) panel=createExportPanel(parent);\n exportShowPanel(document.location.protocol);\n if (parent==document.body) { panel.style.left="30%"; panel.style.top="30%"; }\n panel.style.display = "block" ;\n}\n//}}}\n// //===\n\n// // +++[IE needs explicit scoping] for functions called by browser events\n//{{{\nwindow.onClickExportMenu=onClickExportMenu;\nwindow.onClickExportButton=onClickExportButton;\nwindow.exportShowPanel=exportShowPanel;\nwindow.exportShowFilterFields=exportShowFilterFields;\nwindow.refreshExportList=refreshExportList;\n//}}}\n// //===\n\n// // +++[CSS] for floating export control panel\n//{{{\nconfig.macros.exportTiddlers.css = '\s\n#exportPanel {\s\n display: none; position:absolute; z-index:12; width:35em; right:105%; top:6em;\s\n background-color: #eee; color:#000; font-size: 8pt; line-height:110%;\s\n border:1px solid black; border-bottom-width: 3px; border-right-width: 3px;\s\n padding: 0.5em; margin:0em; -moz-border-radius:1em;\s\n}\s\n#exportPanel a, #exportPanel td a { color:#009; display:inline; margin:0px; padding:1px; }\s\n#exportPanel table { width:100%; border:0px; padding:0px; margin:0px; font-size:8pt; line-height:110%; background:transparent; }\s\n#exportPanel tr { border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel td { color:#000; border:0px;padding:0px;margin:0px; background:transparent; }\s\n#exportPanel select { width:98%;margin:0px;font-size:8pt;line-height:110%;}\s\n#exportPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%; }\s\n#exportPanel textarea { width:98%;padding:0px;margin:0px;overflow:auto;font-size:8pt; }\s\n#exportPanel .box { border:1px solid black; padding:3px; margin-bottom:5px; background:#f8f8f8; -moz-border-radius:5px; }\s\n#exportPanel .topline { border-top:2px solid black; padding-top:3px; margin-bottom:5px; }\s\n#exportPanel .rad { width:auto;border:0 }\s\n#exportPanel .chk { width:auto;border:0 }\s\n#exportPanel .btn { width:auto; }\s\n#exportPanel .btn1 { width:98%; }\s\n#exportPanel .btn2 { width:48%; }\s\n#exportPanel .btn3 { width:32%; }\s\n#exportPanel .btn4 { width:24%; }\s\n#exportPanel .btn5 { width:19%; }\s\n';\n//}}}\n// //===\n\n// // +++[HTML] for export control panel interface\n//{{{\nconfig.macros.exportTiddlers.html = '\s\n<!-- output target and format -->\s\n<table cellpadding="0" cellspacing="0"><tr><td width=50%>\s\n export to\s\n <select size=1 id="exportTo" onchange="exportShowPanel(this.value);">\s\n <option value="file:" SELECTED>this computer</option>\s\n <option value="http:">web server (http)</option>\s\n <option value="https:">secure web server (https)</option>\s\n <option value="ftp:">file server (ftp)</option>\s\n </select>\s\n</td><td width=50%>\s\n output format\s\n <select id="exportFormat" size=1>\s\n <option value="DIV">TiddlyWiki export file</option>\s\n <option value="TW">TiddlyWiki document</option>\s\n <option value="XML">RSS feed (XML)</option>\s\n </select>\s\n</td></tr></table>\s\n\s\n<!-- export to local file -->\s\n<div id="exportLocalPanel" style="margin-top:5px;">\s\nlocal path/filename<br>\s\n<input type="file" id="exportFilename" size=57 style="width:100%"><br>\s\n</div><!--panel-->\s\n\s\n<!-- export to http server -->\s\n<div id="exportHTTPPanel" style="display:none;margin-top:5px;">\s\n<table><tr><td align=left>\s\n server location, script, and parameters<br>\s\n</td><td align=right>\s\n <input type="checkbox" class="chk" id="exportNotify"\s\n onClick="document.getElementById(\s'exportSetNotifyPanel\s').style.display=this.checked?\s'block\s':\s'none\s'"> notify\s\n</td></tr></table>\s\n<input type="text" id="exportHTTPServerURL" onfocus="this.select()"><br>\s\n<div id="exportSetNotifyPanel" style="display:none">\s\n send email notices to<br>\s\n <input type="text" id="exportNotifyTo" onfocus="this.select()"><br>\s\n</div>\s\n</div><!--panel-->\s\n\s\n<!-- export to ftp server -->\s\n<div id="exportFTPPanel" style="display:none;margin-top:5px;">\s\n<table cellpadding="0" cellspacing="0" width="32%"><tr valign="top"><td>\s\n host server<br>\s\n <input type="text" id="exportFTPHost" onfocus="this.select()"><br>\s\n</td><td width="32%">\s\n username<br>\s\n <input type="text" id="exportFTPID" onfocus="this.select()"><br>\s\n</td><td width="32%">\s\n password<br>\s\n <input type="password" id="exportFTPPW" onfocus="this.select()"><br>\s\n</td></tr></table>\s\nFTP path/filename<br>\s\n<input type="text" id="exportFTPFilename" onfocus="this.select()"><br>\s\n</div><!--panel-->\s\n\s\n<!-- notes -->\s\nnotes<br>\s\n<textarea id="exportNotes" rows=3 cols=40 style="height:4em;margin-bottom:5px;" onfocus="this.select()"></textarea> \s\n\s\n<!-- list of tiddlers -->\s\n<table><tr align="left"><td>\s\n select:\s\n <a href="JavaScript:;" id="exportSelectAll"\s\n onclick="onClickExportButton(this)" title="select all tiddlers">\s\n all </a>\s\n <a href="JavaScript:;" id="exportSelectChanges"\s\n onclick="onClickExportButton(this)" title="select tiddlers changed since last save">\s\n changes </a> \s\n <a href="JavaScript:;" id="exportSelectOpened"\s\n onclick="onClickExportButton(this)" title="select tiddlers currently being displayed">\s\n opened </a> \s\n <a href="JavaScript:;" id="exportToggleFilter"\s\n onclick="onClickExportButton(this)" title="show/hide selection filter">\s\n filter </a> \s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportListSmaller"\s\n onclick="onClickExportButton(this)" title="reduce list size">\s\n – </a>\s\n <a href="JavaScript:;" id="exportListLarger"\s\n onclick="onClickExportButton(this)" title="increase list size">\s\n + </a>\s\n</td></tr></table>\s\n<select id="exportList" multiple size="10" style="margin-bottom:5px;"\s\n onchange="refreshExportList(this.selectedIndex)">\s\n</select><br>\s\n</div><!--box-->\s\n\s\n<!-- selection filter -->\s\n<div id="exportFilterPanel" style="display:none">\s\n<table><tr align="left"><td>\s\n selection filter\s\n</td><td align="right">\s\n <a href="JavaScript:;" id="exportHideFilter"\s\n onclick="onClickExportButton(this)" title="hide selection filter">hide</a>\s\n</td></tr></table>\s\n<div class="box">\s\n<input type="checkbox" class="chk" id="exportFilterStart" value="1"\s\n onclick="exportShowFilterFields(this)"> starting date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterStartBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportStartDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterStartBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id="exportFilterEnd" value="1"\s\n onclick="exportShowFilterFields(this)"> ending date/time<br>\s\n<table cellpadding="0" cellspacing="0"><tr valign="center"><td width="50%">\s\n <select size=1 id="exportFilterEndBy" onchange="exportShowFilterFields(this);">\s\n <option value="0">today</option>\s\n <option value="1">yesterday</option>\s\n <option value="7">a week ago</option>\s\n <option value="30">a month ago</option>\s\n <option value="site">SiteDate</option>\s\n <option value="file">file date</option>\s\n <option value="other">other (mm/dd/yyyy hh:mm)</option>\s\n </select>\s\n</td><td width="50%">\s\n <input type="text" id="exportEndDate" onfocus="this.select()"\s\n onchange="document.getElementById(\s'exportFilterEndBy\s').value=\s'other\s';">\s\n</td></tr></table>\s\n<input type="checkbox" class="chk" id=exportFilterTags value="1"\s\n onclick="exportShowFilterFields(this)"> match tags<br>\s\n<input type="text" id="exportTags" onfocus="this.select()">\s\n<input type="checkbox" class="chk" id=exportFilterText value="1"\s\n onclick="exportShowFilterFields(this)"> match titles/tiddler text<br>\s\n<input type="text" id="exportText" onfocus="this.select()">\s\n</div> <!--box-->\s\n</div> <!--panel-->\s\n\s\n<!-- action buttons -->\s\n<div style="text-align:center">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportFilter" value="apply filter">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportStart" value="export tiddlers">\s\n<input type=button class="btn3" onclick="onClickExportButton(this)"\s\n id="exportClose" value="close">\s\n</div><!--center-->\s\n';\n//}}}\n// //===\n\n// // +++[initialize interface]>\n// // +++[exportShowPanel(which)]\n//{{{\nfunction exportShowPanel(which) {\n var index=0; var panel='exportLocalPanel';\n switch (which) {\n case 'file:':\n case undefined:\n index=0; panel='exportLocalPanel'; break;\n case 'http:':\n index=1; panel='exportHTTPPanel'; break;\n case 'https:':\n index=2; panel='exportHTTPPanel'; break;\n case 'ftp:':\n index=3; panel='exportFTPPanel'; break;\n default:\n alert("Sorry, export to "+which+" is not yet available");\n break;\n }\n exportInitPanel(which);\n document.getElementById('exportTo').selectedIndex=index;\n document.getElementById('exportLocalPanel').style.display='none';\n document.getElementById('exportHTTPPanel').style.display='none';\n document.getElementById('exportFTPPanel').style.display='none';\n document.getElementById(panel).style.display='block';\n}\n//}}}\n// //===\n\n// // +++[exportInitPanel(which)]\n//{{{\nfunction exportInitPanel(which) {\n switch (which) {\n case "file:": // LOCAL EXPORT PANEL: file/path:\n // ** no init - security issues in IE **\n break;\n case "http:": // WEB EXPORT PANEL\n case "https:": // SECURE WEB EXPORT PANEL\n // url\n if (store.tiddlerExists("unawiki_download")) {\n var theURL=store.getTiddlerText("unawiki_download");\n theURL=theURL.replace(/\s[\s[download\s|/,'').replace(/\s]\s]/,'');\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n }\n // server script/params\n var title=(store.tiddlerExists("unawiki_host"))?"unawiki_host":"SiteHost";\n var theHost=store.getTiddlerText(title);\n if (!theHost || !theHost.length) theHost=document.location.host;\n if (!theHost || !theHost.length) theHost=title;\n // get POST\n var title=(store.tiddlerExists("unawiki_post"))?"unawiki_post":"SitePost";\n var thePost=store.getTiddlerText(title);\n if (!thePost || !thePost.length) thePost="/"+title;\n // get PARAMS\n var title=(store.tiddlerExists("unawiki_params"))?"unawiki_params":"SiteParams";\n var theParams=store.getTiddlerText(title);\n if (!theParams|| !theParams.length) theParams=title;\n var serverURL = which+"//"+theHost+thePost+"?"+theParams;\n document.getElementById("exportHTTPServerURL").value=serverURL;\n // get NOTIFY\n var theAddresses=store.getTiddlerText("SiteNotify");\n if (!theAddresses|| !theAddresses.length) theAddresses="SiteNotify";\n document.getElementById("exportNotifyTo").value=theAddresses;\n break;\n case "ftp:": // FTP EXPORT PANEL\n // host\n var siteHost=store.getTiddlerText("SiteHost");\n if (!siteHost || !siteHost.length) siteHost=document.location.host;\n if (!siteHost || !siteHost.length) siteHost="SiteHost";\n document.getElementById("exportFTPHost").value=siteHost;\n // username\n var siteID=store.getTiddlerText("SiteID");\n if (!siteID || !siteID.length) siteID=config.options.txtUserName;\n document.getElementById("exportFTPID").value=siteID;\n // password\n document.getElementById("exportFTPPW").value="";\n // file/path\n document.getElementById("exportFTPFilename").value="";\n break;\n }\n}\n//}}}\n// //===\n\n// // +++[exportInitFilter()]\n//{{{\nfunction exportInitFilter() {\n // start date\n document.getElementById("exportFilterStart").checked=false;\n document.getElementById("exportStartDate").value="";\n // end date\n document.getElementById("exportFilterEnd").checked=false;\n document.getElementById("exportEndDate").value="";\n // tags\n document.getElementById("exportFilterTags").checked=false;\n document.getElementById("exportTags").value="";\n // text\n document.getElementById("exportFilterText").checked=false;\n document.getElementById("exportText").value="";\n // show/hide filter input fields\n exportShowFilterFields();\n}\n//}}}\n// //===\n\n// // +++[exportShowFilterFields(which)]\n//{{{\nfunction exportShowFilterFields(which) {\n var show;\n\n show=document.getElementById('exportFilterStart').checked;\n document.getElementById('exportFilterStartBy').style.display=show?"block":"none";\n document.getElementById('exportStartDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterStartBy').value;\n document.getElementById('exportStartDate').value\n =getFilterDate(val,'exportStartDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterStartBy') && (val=='other'))\n document.getElementById('exportStartDate').focus();\n\n show=document.getElementById('exportFilterEnd').checked;\n document.getElementById('exportFilterEndBy').style.display=show?"block":"none";\n document.getElementById('exportEndDate').style.display=show?"block":"none";\n var val=document.getElementById('exportFilterEndBy').value;\n document.getElementById('exportEndDate').value\n =getFilterDate(val,'exportEndDate').formatString(config.macros.exportTiddlers.datetimefmt);\n if (which && (which.id=='exportFilterEndBy') && (val=='other'))\n document.getElementById('exportEndDate').focus();\n\n show=document.getElementById('exportFilterTags').checked;\n document.getElementById('exportTags').style.display=show?"block":"none";\n\n show=document.getElementById('exportFilterText').checked;\n document.getElementById('exportText').style.display=show?"block":"none";\n}\n//}}}\n// //===\n// //===\n\n// // +++[onClickExportButton(which): control interactions]\n//{{{\nfunction onClickExportButton(which)\n{\n // DEBUG alert(which.id);\n var theList=document.getElementById('exportList'); if (!theList) return;\n var count = 0;\n var total = store.getTiddlers('title').length;\n switch (which.id)\n {\n case 'exportFilter':\n count=filterExportList();\n var panel=document.getElementById('exportFilterPanel');\n if (count==-1) { panel.style.display='block'; break; }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage("filtered "+formatExportMessage(count,total));\n if (count==0) { alert("No tiddlers were selected"); panel.style.display='block'; }\n break;\n case 'exportStart':\n exportTiddlers();\n break;\n case 'exportHideFilter':\n case 'exportToggleFilter':\n var panel=document.getElementById('exportFilterPanel')\n panel.style.display=(panel.style.display=='block')?'none':'block';\n break;\n case 'exportSelectChanges':\n var lastmod=new Date(document.lastModified);\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n var tiddler=store.getTiddler(theList.options[t].value); if (!tiddler) continue;\n theList.options[t].selected=(tiddler.modified>lastmod);\n count += (tiddler.modified>lastmod)?1:0;\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,total));\n if (count==0) alert("There are no unsaved changes");\n break;\n case 'exportSelectAll':\n for (var t = 0; t < theList.options.length; t++) {\n if (theList.options[t].value=="") continue;\n theList.options[t].selected=true;\n count += 1;\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,count));\n break;\n case 'exportSelectOpened':\n for (var t = 0; t < theList.options.length; t++) theList.options[t].selected=false;\n var tiddlerDisplay = document.getElementById("tiddlerDisplay");\n for (var t=0;t<tiddlerDisplay.childNodes.length;t++) {\n var tiddler=tiddlerDisplay.childNodes[t].id.substr(7);\n for (var i = 0; i < theList.options.length; i++) {\n if (theList.options[i].value!=tiddler) continue;\n theList.options[i].selected=true; count++; break;\n }\n }\n document.getElementById("exportStart").disabled=(count==0);\n clearMessage(); displayMessage(formatExportMessage(count,total));\n if (count==0) alert("There are no tiddlers currently opened");\n break;\n case 'exportListSmaller': // decrease current listbox size\n var min=5;\n theList.size-=(theList.size>min)?1:0;\n break;\n case 'exportListLarger': // increase current listbox size\n var max=(theList.options.length>25)?theList.options.length:25;\n theList.size+=(theList.size<max)?1:0;\n break;\n case 'exportClose':\n document.getElementById('exportPanel').style.display='none';\n break;\n }\n}\n//}}}\n// //===\n\n// // +++[list display]\n//{{{\nfunction formatExportMessage(count,total)\n{\n var txt=total+' tiddler'+((total!=1)?'s':'')+" - ";\n txt += (count==0)?"none":(count==total)?"all":count;\n txt += " selected for export";\n return txt;\n}\n\nfunction refreshExportList(selectedIndex)\n{\n var theList = document.getElementById("exportList");\n var sort;\n if (!theList) return;\n // get the sort order\n if (!selectedIndex) selectedIndex=0;\n if (selectedIndex==0) sort='modified';\n if (selectedIndex==1) sort='title';\n if (selectedIndex==2) sort='modified';\n if (selectedIndex==3) sort='modifier';\n\n // get the alphasorted list of tiddlers\n var tiddlers = store.getTiddlers('title');\n // unselect headings and count number of tiddlers actually selected\n var count=0;\n for (var i=0; i<theList.options.length; i++) {\n if (theList.options[i].value=="") theList.options[i].selected=false;\n count+=theList.options[i].selected?1:0;\n }\n // disable "export" button if no tiddlers selected\n document.getElementById("exportStart").disabled=(count==0);\n // update listbox heading to show selection count\n if (theList.options.length) { clearMessage(); displayMessage(formatExportMessage(count,tiddlers.length)); }\n\n // if a [command] item, reload list... otherwise, no further refresh needed\n if (selectedIndex>3) return;\n\n // clear current list contents\n while (theList.length > 0) { theList.options[0] = null; }\n // add heading and control items to list\n var i=0;\n var indent=String.fromCharCode(160)+String.fromCharCode(160);\n theList.options[i++]=\n new Option(tiddlers.length+" tiddlers in document", "",false,false);\n theList.options[i++]=\n new Option(((sort=="title" )?">":indent)+' [by title]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modified")?">":indent)+' [by date]', "",false,false);\n theList.options[i++]=\n new Option(((sort=="modifier")?">":indent)+' [by author]', "",false,false);\n // output the tiddler list\n switch(sort)\n {\n case "title":\n for(var t = 0; t < tiddlers.length; t++)\n theList.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title,false,false);\n break;\n case "modifier":\n case "modified":\n var tiddlers = store.getTiddlers(sort);\n // sort descending for newest date first\n tiddlers.sort(function (a,b) {if(a[sort] == b[sort]) return(0); else return (a[sort] > b[sort]) ? -1 : +1; });\n var lastSection = "";\n for(var t = 0; t < tiddlers.length; t++)\n {\n var tiddler = tiddlers[t];\n var theSection = "";\n if (sort=="modified") theSection=tiddler.modified.toLocaleDateString();\n if (sort=="modifier") theSection=tiddler.modifier;\n if (theSection != lastSection)\n {\n theList.options[i++] = new Option(theSection,"",false,false);\n lastSection = theSection;\n }\n theList.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title,false,false);\n }\n break;\n }\n theList.selectedIndex=selectedIndex; // select current control item\n}\n//}}}\n// //===\n\n// // +++[list filtering]\n//{{{\nfunction getFilterDate(val,id)\n{\n var result=0;\n switch (val) {\n case 'site':\n var timestamp=store.getTiddlerText("SiteDate");\n if (!timestamp) timestamp=document.lastModified;\n result=new Date(timestamp);\n break;\n case 'file':\n result=new Date(document.lastModified);\n break;\n case 'other':\n result=new Date(document.getElementById(id).value);\n break;\n default: // today=0, yesterday=1, one week=7, two weeks=14, a month=31\n var now=new Date(); var tz=now.getTimezoneOffset()*60000; now-=tz;\n var oneday=86400000;\n if (id=='exportStartDate')\n result=new Date((Math.floor(now/oneday)-val)*oneday+tz);\n else\n result=new Date((Math.floor(now/oneday)-val+1)*oneday+tz-1);\n break;\n }\n // DEBUG alert('getFilterDate('+val+','+id+')=='+result+"\snnow="+now);\n return result;\n}\n\nfunction filterExportList()\n{\n var theList = document.getElementById("exportList"); if (!theList) return -1;\n\n var filterStart=document.getElementById("exportFilterStart").checked;\n var val=document.getElementById("exportFilterStartBy").value;\n var startDate=getFilterDate(val,'exportStartDate');\n\n var filterEnd=document.getElementById("exportFilterEnd").checked;\n var val=document.getElementById("exportFilterEndBy").value;\n var endDate=getFilterDate(val,'exportEndDate');\n\n var filterTags=document.getElementById("exportFilterTags").checked;\n var tags=document.getElementById("exportTags").value;\n\n var filterText=document.getElementById("exportFilterText").checked;\n var text=document.getElementById("exportText").value;\n\n if (!(filterStart||filterEnd||filterTags||filterText)) {\n alert("Please set the selection filter");\n document.getElementById('exportFilterPanel').style.display="block";\n return -1;\n }\n if (filterStart&&filterEnd&&(startDate>endDate)) {\n var msg="starting date/time:\sn"\n msg+=startDate.toLocaleString()+"\sn";\n msg+="is later than ending date/time:\sn"\n msg+=endDate.toLocaleString()\n alert(msg);\n return -1;\n }\n\n // scan list and select tiddlers that match all applicable criteria\n var total=0;\n var count=0;\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-tiddler list items (section headings)\n var opt=theList.options[i]; if (opt.value=="") continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var tiddler=store.getTiddler(opt.value); if (!tiddler) continue; \n var sel=true;\n if ( (filterStart && tiddler.modified<startDate)\n || (filterEnd && tiddler.modified>endDate)\n || (filterTags && !matchTags(tiddler,tags))\n || (filterText && (tiddler.text.indexOf(text)==-1) && (tiddler.title.indexOf(text)==-1)))\n sel=false;\n opt.selected=sel;\n count+=sel?1:0;\n total++;\n }\n return count;\n}\n//}}}\n\n//{{{\nfunction matchTags(tiddler,cond)\n{\n if (!cond||!cond.trim().length) return false;\n\n // build a regex of all tags as a big-old regex that \n // OR's the tags together (tag1|tag2|tag3...) in length order\n var tgs = store.getTags();\n if ( tgs.length == 0 ) return results ;\n var tags = tgs.sort( function(a,b){return (a[0].length<b[0].length)-(a[0].length>b[0].length);});\n var exp = "(" + tags.join("|") + ")" ;\n exp = exp.replace( /(,[\sd]+)/g, "" ) ;\n var regex = new RegExp( exp, "ig" );\n\n // build a string such that an expression that looks like this: tag1 AND tag2 OR NOT tag3\n // turns into : /tag1/.test(...) && /tag2/.test(...) || ! /tag2/.test(...)\n cond = cond.replace( regex, "/$1\s\s|/.test(tiddlerTags)" );\n cond = cond.replace( /\ssand\ss/ig, " && " ) ;\n cond = cond.replace( /\ssor\ss/ig, " || " ) ;\n cond = cond.replace( /\ss?not\ss/ig, " ! " ) ;\n\n // if a boolean uses a tag that doesn't exist - it will get left alone \n // (we only turn existing tags into actual tests).\n // replace anything that wasn't found as a tag, AND, OR, or NOT with the string "false"\n // if the tag doesn't exist then /tag/.test(...) will always return false.\n cond = cond.replace( /(\ss|^)+[^\s/\s|&!][^\ss]*/g, "false" ) ;\n\n // make a string of the tags in the tiddler and eval the 'cond' string against that string \n // if it's TRUE then the tiddler qualifies!\n var tiddlerTags = (tiddler.tags?tiddler.tags.join("|"):"")+"|" ;\n try { if ( eval( cond ) ) return true; }\n catch( e ) { displayMessage("Error in tag filter '" + e + "'" ); }\n return false;\n}\n//}}}\n// //===\n\n// // +++[output data formatting]>\n// // +++[exportHeader(format)]\n//{{{\nfunction exportHeader(format)\n{\n switch (format) {\n case "TW": return exportTWHeader();\n case "DIV": return exportDIVHeader();\n case "XML": return exportXMLHeader();\n }\n}\n//}}}\n// //===\n\n// // +++[exportFooter(format)]\n//{{{\nfunction exportFooter(format)\n{\n switch (format) {\n case "TW": return exportDIVFooter();\n case "DIV": return exportDIVFooter();\n case "XML": return exportXMLFooter();\n }\n}\n//}}}\n// //===\n\n// // +++[exportTWHeader()]\n//{{{\nfunction exportTWHeader()\n{\n // Get the URL of the document\n var originalPath = document.location.toString();\n // Check we were loaded from a file URL\n if(originalPath.substr(0,5) != "file:")\n { alert(config.messages.notFileUrlError); return; }\n // Remove any location part of the URL\n var hashPos = originalPath.indexOf("#"); if(hashPos != -1) originalPath = originalPath.substr(0,hashPos);\n // Convert to a native file format assuming\n // "file:///x:/path/path/path..." - pc local file --> "x:\spath\spath\spath..."\n // "file://///server/share/path/path/path..." - FireFox pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n // "file:///path/path/path..." - mac/unix local file --> "/path/path/path..."\n // "file://server/share/path/path/path..." - pc network file --> "\s\sserver\sshare\spath\spath\spath..."\n var localPath;\n if(originalPath.charAt(9) == ":") // pc local file\n localPath = unescape(originalPath.substr(8)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file://///") == 0) // FireFox pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(10)).replace(new RegExp("/","g"),"\s\s");\n else if(originalPath.indexOf("file:///") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(7));\n else if(originalPath.indexOf("file:/") == 0) // mac/unix local file\n localPath = unescape(originalPath.substr(5));\n else // pc network file\n localPath = "\s\s\s\s" + unescape(originalPath.substr(7)).replace(new RegExp("/","g"),"\s\s");\n // Load the original file\n var original = loadFile(localPath);\n if(original == null)\n { alert(config.messages.cantSaveError); return; }\n // Locate the storeArea div's\n var posOpeningDiv = original.indexOf(startSaveArea);\n var posClosingDiv = original.lastIndexOf(endSaveArea);\n if((posOpeningDiv == -1) || (posClosingDiv == -1))\n { alert(config.messages.invalidFileError.format([localPath])); return; }\n return original.substr(0,posOpeningDiv+startSaveArea.length)\n}\n//}}}\n// //===\n\n// // +++[exportDIVHeader()]\n//{{{\nfunction exportDIVHeader()\n{\n var out=[];\n var now = new Date();\n var title = convertUnicodeToUTF8(wikifyPlain("SiteTitle").htmlEncode());\n var subtitle = convertUnicodeToUTF8(wikifyPlain("SiteSubtitle").htmlEncode());\n var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<html><body>");\n out.push("<style type=\s"text/css\s">");\n out.push("#storeArea {display:block;margin:1em;}");\n out.push("#storeArea div");\n out.push("{padding:0.5em;margin:1em;border:2px solid black;height:10em;overflow:auto;}");\n out.push("#javascriptWarning");\n out.push("{width:100%;text-align:left;background-color:#eeeeee;padding:1em;}");\n out.push("</style>");\n out.push("<div id=\s"javascriptWarning\s">");\n out.push("TiddlyWiki export file<br>");\n out.push("Source: <b>"+convertUnicodeToUTF8(document.location.toString())+"</b><br>");\n out.push("Title: <b>"+title+"</b><br>");\n out.push("Subtitle: <b>"+subtitle+"</b><br>");\n out.push("Created: <b>"+now.toLocaleString()+"</b> by <b>"+user+"</b><br>");\n out.push("TiddlyWiki "+twver+" / "+"ExportTiddlersPlugin "+pver+"<br>");\n out.push("Notes:<hr><pre>"+document.getElementById("exportNotes").value.replace(regexpNewLine,"<br>")+"</pre>");\n out.push("</div>");\n out.push("<div id=\s"storeArea\s">");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportDIVFooter()]\n//{{{\nfunction exportDIVFooter()\n{\n var out=[];\n out.push("</div></body></html>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportXMLHeader()]\n//{{{\nfunction exportXMLHeader()\n{\n var out=[];\n var now = new Date();\n var u = store.getTiddlerText("SiteUrl",null);\n var title = convertUnicodeToUTF8(wikifyPlain("SiteTitle").htmlEncode());\n var subtitle = convertUnicodeToUTF8(wikifyPlain("SiteSubtitle").htmlEncode());\n var user = convertUnicodeToUTF8(config.options.txtUserName.htmlEncode());\n var twver = version.major+"."+version.minor+"."+version.revision;\n var pver = version.extensions.exportTiddlers.major+"."\n +version.extensions.exportTiddlers.minor+"."+version.extensions.exportTiddlers.revision;\n out.push("<" + "?xml version=\s"1.0\s"?" + ">");\n out.push("<rss version=\s"2.0\s">");\n out.push("<channel>");\n out.push("<title>" + title + "</title>");\n if(u) out.push("<link>" + convertUnicodeToUTF8(u.htmlEncode()) + "</link>");\n out.push("<description>" + subtitle + "</description>");\n out.push("<language>en-us</language>");\n out.push("<copyright>Copyright " + now.getFullYear() + " " + user + "</copyright>");\n out.push("<pubDate>" + now.toGMTString() + "</pubDate>");\n out.push("<lastBuildDate>" + now.toGMTString() + "</lastBuildDate>");\n out.push("<docs>http://blogs.law.harvard.edu/tech/rss</docs>");\n out.push("<generator>TiddlyWiki "+twver+" plus ExportTiddlersPlugin "+pver+"</generator>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportXMLFooter()]\n//{{{\nfunction exportXMLFooter()\n{\n var out=[];\n out.push("</channel></rss>");\n return out;\n}\n//}}}\n// //===\n\n// // +++[exportData()]\n//{{{\nfunction exportData(theList,theFormat)\n{\n // scan export listbox and collect DIVs or XML for selected tiddler content\n var out=[];\n for (var i=0; i<theList.options.length; i++) {\n // get item, skip non-selected items and section headings\n var opt=theList.options[i]; if (!opt.selected||(opt.value=="")) continue;\n // get tiddler, skip missing tiddlers (this should NOT happen)\n var thisTiddler=store.getTiddler(opt.value); if (!thisTiddler) continue; \n if (theFormat=="TW") out.push(convertUnicodeToUTF8(thisTiddler.saveToDiv()));\n if (theFormat=="DIV") out.push(convertUnicodeToUTF8(thisTiddler.title+"\sn"+thisTiddler.saveToDiv()));\n if (theFormat=="XML") out.push(convertUnicodeToUTF8(thisTiddler.saveToRss()));\n }\n return out;\n}\n//}}}\n// //===\n// //===\n\n// // +++[exportTiddlers(): output selected data to local or server]\n//{{{\nfunction exportTiddlers()\n{\n var theList = document.getElementById("exportList"); if (!theList) return;\n\n // get the export settings\n var theProtocol = document.getElementById("exportTo").value;\n var theFormat = document.getElementById("exportFormat").value;\n\n // assemble output: header + tiddlers + footer\n var theData=exportData(theList,theFormat);\n var count=theData.length;\n var out=[]; var txt=out.concat(exportHeader(theFormat),theData,exportFooter(theFormat)).join("\sn");\n var msg="";\n switch (theProtocol) {\n case "file:":\n var theTarget = document.getElementById("exportFilename").value.trim();\n if (!theTarget.length) msg = "A local path/filename is required\sn";\n if (!msg && saveFile(theTarget,txt))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to local file";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "http:":\n case "https:":\n var theTarget = document.getElementById("exportHTTPServerURL").value.trim();\n if (!theTarget.length) msg = "A server URL is required\sn";\n if (document.getElementById('exportNotify').checked)\n theTarget+="¬ify="+encodeURIComponent(document.getElementById('exportNotifyTo').value);\n if (document.getElementById('exportNotes').value.trim().length)\n theTarget+="¬es="+encodeURIComponent(document.getElementById('exportNotes').value);\n if (!msg && exportPost(theTarget+encodeURIComponent(txt)))\n msg=count+" tiddler"+((count!=1)?"s":"")+" exported to "+theProtocol+" server";\n else if (!msg)\n msg+="An error occurred while saving to "+theTarget;\n break;\n case "ftp:":\n default:\n msg="Sorry, export to "+theLocation+" is not yet available";\n break;\n }\n clearMessage(); displayMessage(msg,theTarget);\n}\n//}}}\n// //===\n\n// // +++[exportPost(url): cross-domain post] uses hidden iframe to submit url and capture responses\n//{{{\nfunction exportPost(url)\n{\n var f=document.getElementById("exportFrame"); if (f) document.body.removeChild(f);\n f=document.createElement("iframe"); f.id="exportFrame";\n f.style.width="0px"; f.style.height="0px"; f.style.border="0px";\n document.body.appendChild(f);\n var d=f.document;\n if (f.contentDocument) d=f.contentDocument; // For NS6\n else if (f.contentWindow) d=f.contentWindow.document; // For IE5.5 and IE6\n d.location.replace(url);\n return true;\n}\n//}}}\n// //===\n
A [[free-penguin.org|http://www.free-penguin.org/]] han alliberat el codi... per fer-te tu mateix el Tux de peluix. \n\nBoníssim! \n\nEls patrons es poden descarregar sota llicència [[GPL (GNU General Public License)|http://www.fsf.org]]\n\nNo sé cosir, però no sembla pas més difícil que compilar un kernel...
version.extensions.Festiu = {\n major: 1, minor: 0, revision: 0,\n date: new Date(2006, 3, 2), \n type: 'config'\n};\n\nconfig.macros.calendar.holidays = [ "01/01:Cap d'Any", "06/01:Reis", "07/03:Festa Major a Santa Perpètua", "01/05:Festa del Treball", "24/06:Sant Joan", "11/09:Diada Nacional de Catalunya", "12/10:El Pilar", "01/11:Tots Sants", "06/12:Dia de la Constitució", "08/12:la Immaculada", "25/12:Nadal", "26/12:Sant Esteve" ];
El fill RSS es troba [[aquí|tw.xml]]. L'opció de generar un fil RSS encara està en desenvolupament, i s'ha d'acabar de polir en les properes versions. Només incorpora el text sense enllaços ni format, però permet seguir els canvis fàcilment. Podeu crear un fil RSS al vostre propi TiddlyWiki amb l'[[Opció Avançada|AdvancedOptions]] GeneraFilRSS.\n\nMés informació sobre el fil RSS (en anglés):\n\nhttp://www.tiddlywiki.com/index.html#RssFeed
\n<<slider chkNavEgacio [[Navegació]] "Navegació" "Clica aquí per obrir o tancar la resposta">>\n<<slider chkPaginaActual [[Pàgina actual]] "Pàgina actual" "Clica aquí per obrir o tancar la resposta">>
Aquest és un petit resum dels codis de format, tret del [[TiddlyWiki Tutorial|http://www.blogjones.com/TiddlyWikiTutorial.html]]:\n\n!Format de text\n|!Exemple|>|!Com|\n|''Negreta''|' 'paraules' ' (sense espais)|\n|==tatxat==|= =paraules = =|\n|__subrratllat__|_ _ paraules_ _|\n|//cursiva//|/ /word/ /|\n|^^superíndex^^|^ ^paraules^ ^|\n|~~subíndex~~|~ ~paraules~ ~|\n|@@color(green):colors@@|@ @color(aquíelcolor):paraules@ @|\n|@@bgcolor(green):Fons@@|@ @bgcolor(aquíelcolor):paraules@ @|\n|{{{Monoespaiat}}}|{ { { paraules} } }|\n|~FerNoWiki|~ TextWiki|\n|[[fer text wiki]] |[ [text no wiki] ]|\n!Bloc de text monoespaiat\n{{{\n {{{\n Només un exemple\n }}}\n}}}\n{{{\nNomés un exemple\n}}}\n\n!Línia horitzontal\n{{{\n----\n}}}\n----\n\n!Llistes i esquemes\n{{{\n* Comença una llista\n* Llista amb subtemes\n** Sub tema 1\n** Sub tema 2\n}}}\n* Comença una llista\n* Llista amb subtemes\n** Sub tema 1\n** Sub tema 2\n\n!Llistes numerades i esquemes\n{{{\n# Comença una llista\n# Llista amb subtemes\n## Sub tema 1\n## Sub tema 2\n}}}\n# Comença una llista\n# Llista amb subtemes\n## Sub tema 1\n## Sub tema 2\n\n!Enllaç extern\n{{{\n[[text alternatiu|URL de l'enllaç]]\n[[TiddlyWiki|http://tiddlywiki.com]]\n}}}\n[[TiddlyWiki|http://tiddlywiki.com]]\n\n!Incloure imatges\n{{{\n[img[text alternatiu|URL de la imatge]]\n}}}\nEl 'text alternatiu' és el text de la bafarada que sortirà quan es passi el ratolí per sobre.\nCal indicar la ruta (o URL) de la imatge, sempre que no sigui a la mateixa carpeta que el TiddlyWiki.\n\n!Taules\nPodeu fer una taula posant el text entre barres verticals (||, o AltGr-1 al vostre teclat). \n{{{\n|!Títols: afegiu un signe d'exclamació (!) just després de la barra vertical.|!Títol2|!Títol3|\n|Fila 1, Columna 1|Fila 1, Columna 2|Fila 1, Columna 3|\n|>|>|Feu que una fila ocupi més d'una columna amb un >|\n|Feu que una columna ocupi més d'una fila amb una ~|>| Poseu un espai a l'inici per ajustar a la dreta el text d'una cel·la|\n|~|>| Centreu el text d'una cel·la amb un espai a cada extrem |\n|>|>|bgcolor(green):Afegiu color a una cel·la amb bgcolor(aquíelcolor):|\n|Afegiu un peu a la taula acabant la taula amb una barra vertical seguida d'una c|c\n}}}\n\n|!Títols: afegiu un signe d'exclamació (!) just després de barra vertical.|!Títol2|!Títol3|\n|Fila 1, Columna 1|Fila 1, Columna 2|Fila 1, Columna 3|\n|>|>|Feu que una fila ocupi més d'una columna amb un >|\n|Feu que una columna ocupi més d'una fila amb una ~|>| Poseu un espai a l'inici per ajustar a la dreta el text d'una cel·la|\n|~|>| Centreu el text d'una cel·la amb un espai a cada extrem |\n|>|>|bgcolor(green):Afegiu color a una cel·la amb bgcolor(aquíelcolor):|\n|Afegiu un peu a la taula acabant la taula amb una barra vertical seguida d'una c|c\n\n!Bloc de cites\n{{{\n<<<\n"A honor, llaor e glòria de Nostre Senyor Déu Jesucrist e de la gloriosa sacratíssima verge Maria, mare sua, senyora nostra, comença la lletra del present llibre apellat Tirant lo Blanc, dirigida per Mossèn Joanot Martorell, cavaller, al sereníssimo Princep Don Ferrando de Portugal"\n<<<\n}}}\n<<<\n"A honor, llaor e glòria de Nostre Senyor Déu Jesucrist e de la gloriosa sacratíssima verge Maria, mare sua, senyora nostra, comença la lletra del present llibre apellat Tirant lo Blanc, dirigida per Mossèn Joanot Martorell, cavaller, al sereníssimo Princep Don Ferrando de Portugal"\n<<<\n\n!Títols\n{{{\n!Títol\n!!Sub-títol\n!!!Sub-títol 2\n!!!!Sub-títol 3\n!!!!!Sub-títol 4\n}}}\n!Títol\n!!Sub-títol\n!!!Sub-títol 2\n!!!!Sub-títol 3\n!!!!!Sub-títol 4
[[RSS|http://phobos.xtec.cat/jfontich/tw.xml]]
Escriu els aliments que conèixes que són rics en greixos.
Un excel·lent i molt elegant editor CSS es TopStyle. Hi ha una versió Lite, sense additius, conservant ni edulcorants. A més a més no caduca!\n\n[[TopStyle: Guia molt ràpida|http://phobos.xtec.cat/jfontich/topstyle/topstyle.htm]]\n[[TopStyle Lite|http://www.newsgator.com/NGOLProduct.aspx?ProdId=TopStyle&ProdView=lite]] \n\n
La comunitat educativa pot transferir els seus fitxers als servidors de la Xtec (xtec.cat o edu365.com) sense necessitat d'instal·lar un client FTP. Veieu com ho podeu fer:\n\n[[FTP amb EDU365: Guia molt ràpida|http://xtec.cat/~jfontich/ftp-edu365/ftp-edu365.html]]
Com podem posicionar un element del TiddlyWiki en un altre lloc? Remenant, remenant, he estat fent un [[tema nou|http://phobos.xtec.cat/jfontich/tema.html]]. He tocat els colors, la capçalera, i fins i tot he fet una mica de posicionament amb els fulls d'estil.\n\nMireu aquesta [[Guia molt ràpida|http://phobos.xtec.cat/jfontich/css-p/css-p.html]] si voleu tastar una mica com he posicionat el tiddler RSS fora de la barra del menú principal.
Com podem seguir els continguts dels fòrums del Moodle (s'ha d'activar, però ho permet!), del Vilaweb, o les entrades que fan els meus companys del Curs TiddlyWiki... sense haver de visitar cada cop totes aquestes pàgines!\n\nEls difusors de continguts o enllaços RSS serveixen per això: per fer un seguiment dels continguts que es van renovant a les webs que ens interessa, Però, ai! Cal un lector d'aquests enllaços.\n\nA l'entorn d'escriptori K tenim l'Akregator, el lector d'enllaços del PIM Kontact. en aquesta guia ràpida veureu com en un minut podeu fer un seguiment dels continguts que s'han renovat als vostres llocs preferits.\n\n[[Guia molt ràpida: seguint els fils RSS amb Akregator|http://phobos.xtec.cat/jfontich/rss/rss.htm]]
La pàgina s'ha de veure en codi UTF-8 comprova la codificació de caràcters de la pàgina, si és ISO-8859, pots crear un arxiu de text amb el nom .htaccess amb el següent contingut, i pujar-lo al teu servidor:\n{{{\n<Files "index.htm">\nAddCharset UTF-8 .html\n</Files>\n}}}\nEl nom de l'arxiu index.htm ha de ser el del teu TiddlyWiki..\nNota: si aquest arxiu .htaccess ja existeix, edita'l i afegeix les línies anteriors.\n\nPots ampliar la informació a [[W3-Internacionalització|http://www.w3.org/International/questions/qa-htaccess-charset]]
La pàgina s'ha de veure en codi UTF-8 comprova la codificació de caràcters de la pàgina, si és ISO-8859, pots crear un arxiu de text amb el nom .htaccess amb el següent contingut, i pujar-lo al teu servidor:\n{{{\n<Files "index.htm">\nAddCharset UTF-8 .html\n</Files>\n}}}\nEl nom de l'arxiu index.htm ha de ser el del teu TiddlyWiki..\nNota: si aquest arxiu .htaccess ja existeix, edita'l i afegeix les línies anteriors.
Entities in HTML documents allow characters to be entered that can't easily be typed on an ordinary keyboard. They take the form of an ampersand (&), an identifying string, and a terminating semi-colon (;). There's a complete reference [[here|http://www.htmlhelp.com/reference/html40/entities/]]; some of the more common and useful ones are shown below. Also see [[Paul's Notepad|http://thepettersons.org/PaulsNotepad.html#GreekHtmlEntities%20HtmlEntitiesList%20LatinHtmlEntities%20MathHtmlEntities]] for a more complete list.\n\n|>|>|>|>|>|>| !HTML Entities |\n| &nbsp; | | no-break space | | &apos; | ' | single quote, apostrophe |\n| &ndash; | – | en dash |~| &quot; | " | quotation mark |\n| &mdash; | — | em dash |~| &prime; | ′ | prime; minutes; feet |\n| &hellip; | … | horizontal ellipsis |~| &Prime; | ″ | double prime; seconds; inches |\n| &copy; | © | Copyright symbol |~| &lsquo; | ‘ | left single quote |\n| &reg; | ® | Registered symbol |~| &rsquo; | ’ | right single quote |\n| &trade; | ™ | Trademark symbol |~| &ldquo; | “ | left double quote |\n| &dagger; | † | dagger |~| &rdquo; | ” | right double quote |\n| &Dagger; | ‡ | double dagger |~| &laquo; | « | left angle quote |\n| &para; | ¶ | paragraph sign |~| &raquo; | » | right angle quote |\n| &sect; | § | section sign |~| &times; | × | multiplication symbol |\n| &uarr; | ↑ | up arrow |~| &darr; | ↓ | down arrow |\n| &larr; | ← | left arrow |~| &rarr; | → | right arrow |\n| &lArr; | ⇐ | double left arrow |~| &rArr; | ⇒ | double right arrow |\n| &harr; | ↔ | left right arrow |~| &hArr; | ⇔ | double left right arrow |\n\nThe table below shows how accented characters can be built up by subsituting a base character into the various accent entities in place of the underscore ('_'):\n\n|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>| !Accented Characters |\n| grave accent | &_grave; | À | à | È | è | Ì | ì | Ò | ò | Ù | ù | | | | | | |\n| acute accent | &_acute; | Á | á | É | é | Í | í | Ó | ó | Ú | ú | | | Ý | ý | | |\n| circumflex accent | &_circ; | Â | â | Ê | ê | Î | î | Ô | ô | Û | û | | | | | | |\n| umlaut mark | &_uml; | Ä | ä | Ë | ë | Ï | ï | Ö | ö | Ü | ü | | | Ÿ | ÿ | | |\n| tilde | &_tilde; | Ã | ã | | | | | Õ | õ | | | Ñ | ñ | | | | |\n| ring | &_ring; | Å | å | | | | | | | | | | | | | |\n| slash | &_slash; | | | | | | | Ø | ø | | | | | | | |\n| cedilla | &_cedil; | | | | | | | | | | | | | | | Ç | ç |
Davant la necessitat de penjar imatges a la web, quin format digital he de triar: [[JPEG|http://ca.wikipedia.org/wiki/Jpg]] o [[GIF|http://ca.wikipedia.org/wiki/Gif]] o [[PNG|http://ca.wikipedia.org/wiki/PNG]]? Quines raons objectives hi ha? Un cop d'ull a la [[Viquipèdia|http://ca.wikipedia.org]] em treu de l'entrellat.\n\n||!jpeg|!gif|!png|\n|!Tipus |Propietari |Propietari |Lliure |\n|!Transparència |No |Si |Nivells de transparència al canal alfa |\n|!Compressió |Amb pèrdua |Sense pèrdua |Sense pèrdua, resultant un fitxer fins a un 25% menor que el GIF |\n|!Acceptació |Àmpliament acceptat |Àmpliament acceptat però en desús |Va obrint camí trepitjant fort |\n|!Color |24 bits |8 bits |24 bits |\n|!Animació |No |Si |No, tot i que ja hi ha un format basat en PNG que si que en suporta |
Soc mestre de primària. Aquest darrer curs 2005/06 he estat amb 2n de CI al CEIP Elisa Badia de Barberà del Vallès, des de començaments de novembre fins a finals de curs com a mestre substitut. Per al proper curs sembla que el Departament em donarà un interinatge al mateix CEIP Elisa Badia: ja soc mestre interí!!\n\nM'agrada el TiddlyWiki! \nPer al proper curs m'agradaria fer alguna cosa amb els alumnes que tingui, siguin del nivell que siguin. Hi veig moltes possibilitats: és senzill, flexible, molt potent... i puc treballar-hi en local!\n\njfontich (a) xtec (punt) cat
//Is there a recognised/official method of including a link to jump to\nthe top of the TW? \nIf you've a lot of tiddlers open, it's quite handy to be able to\n'jump to top' to get at the menus up there, way, way up there\nsometimes.//\n\nTry this:\n[[ToggleTopButton|http://www.tiddlytools.com/#ToggleTopButton]]\n\nIt uses InlineJavascriptPlugin to dynamically add a "top" link to the\nbottom right corner of the browser window. This link is styled to look\nbutton-like and has "position:fixed", so that when the page is scrolled\nit will remain on screen *without moving*, 'hovering' above the other\ncontent. (note: 'fixed' elements are not supported by\nInternetExplorer... the 'top' button display is automatically\nsuppressed when viewing on IE.)\n\nThe script also presents an inline 'control panel' containing a single\ncheckbox to control whether or not the 'top' button is displayed:\n [x] 'scroll to top' button\nThe checkbox state is tracked in a cookie, so that the 'top' button\npreference persists between sessions.\n\nYou can place this special checkbox into your OptionsPanel (or anywhere\nelse you like), by using this macro: <<tiddler ToggleTopButton>>\n\nenjoy,\n-e\nEric Shulman\nTiddlyTools / ELS Design Studios \n\n\n
Torna a baixar la plantilla de TiddlyWiki i desa-la amb el botó dret del ratolí. No ho facis amb l'opció Desa del navegador.
Faig un cop d'ull a les estadístiques d'aquest lloc, i m'emociono:\n\nSistema Operatiu: el 75% dels visitants gaudeix amb el Linux, contra el 25% que pateix el WXP...\nNavegadors: 91,67% navega Firefox, l'altre 8,33% Mozilla!\n\nSerà un miratge?\n\nAixò si: només 9 visitants i 13 pàgines carregades... :-)\nEsperem que a mida que el comptador vagi augmentant, l'estadística segueixi essent tan favorable!
<<today "DD MMM YYYY">>\n\n[img[RSS 2.0|imatges_tw/rss20.gif][tw.xml]\n[[Technorati|http://technorati.com/claim/7jjng4pfzj]]\n<html><script type="text/javascript" src="http://embed.technorati.com/embed/7jjng4pfzj.js"></script></html>\n[[IniciLocal|file:///home/jordi/Curs%20Web%202.0/tw.html]] | [[IniciRemot|http://phobos.xtec.cat/jfontich/tw.html]]\n[[Curs Web 2.0|http://espiral.xtec.net/moodle/course/view.php?id=22]]\n\n[img[Jordi Fontich|imatges_tw/JF-Foto.jpg][JordiFontich]\n\n!Jordi Fontich\n[[...per primer cop|http://phobos.xtec.cat/jfontich]]\n[[mmm... deliciós!|http://del.icio.us/jfontich]]\n[[DiccionariDesordenat]]\n\n\n\n!Tiddly Wiki\n\n[[ComEsFa?]]\n[[La cuina|ComençaAquí]]\n\n\nTiddlyWiki\nBaixaElProgramari\n[[Guia20Minuts|http://pacoriviere.googlepages.com/20minuts.html]]\n[[Connectors]]\n[[Donacions]]\n\n\n\n© 2006 [[osmosoft|http://www.osmosoft.com]]\n© 2006 [[frivière|http://www.xtec.cat/~friviere]]\n\n\n^^TiddlyWiki versió <<version>>^^\n\n!Copyleft\n[img[Copyleft|imatges_tw/ccsomerights20.gif][http://creativecommons.org/licenses/by-nc-sa/2.5/]\n\n\n!Uneix-te!\n[img[Usuari Linux #418156|imatges_tw/linuxuserpp.png][http://counter.li.org/reports/trends.php]\n\n<html><a href="http://www.free-penguin.org/" >\n<img src="http://www.free-penguin.org/images/buttons/button_freepeng_100_c.png" alt="Homepage of free-penguin.org" border="0" title="go to free-penguin.org ... sew your own" />\n</a></html>\n\n\n!Estadístiques\n<html><!-- Start of StatCounter Code -->Ja heu passat...<br>\n<a href="http://www.statcounter.com/" target="_blank"><img src="http://c17.statcounter.com/counter.php?sc_project=1702593&java=0&security=2425722a&invisible=0" alt="counter hit make" border="0"></a> visitants!\n<!-- End of StatCounter Code --><br><a href="http://my.statcounter.com/project/standard/stats.php?project_id=1702593&guest=1">Estadístiques</a></html>\n\n\n
|>|>|>|>|! Memòries Flash |\n|Tipus|Mida|[[Expansys|http://www.expansys.es/]]|[[Redcoon|http://www.redcoon.es]]| Telèfon |\n|mSD|1GB| [[35€|http://www.expansys.es/product.asp?code=118583]] | [[65€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F110869/cid/19003/Sandisk_Transflash_Micro_SD_1_GB/]] | [[MPX220|http://www.motorola.com/motoinfo/product/details/0,,53,00.html]] |\n|TF|~| [[52€|http://www.expansys.es/product.asp?code=133709]] | [[65€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F110869/cid/19003/Sandisk_Transflash_Micro_SD_1_GB/]] | [[V360v|http://direct.motorola.com/spn/Web_ProductHome.asp?Country=ESP&language=SPN&productid=30290]] |\n|mSD|512MB| [[15€|http://www.expansys.es/product.asp?code=116182]] | [[€|]] | [[MPX220|http://www.motorola.com/motoinfo/product/details/0,,53,00.html]] |\n|TF|~| [[22€|http://www.expansys.es/product.asp?code=118536]] | [[50€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F110868/cid/19003/Sandisk_Transflash_Micro_SD_512_GB/]] | [[V360v|http://direct.motorola.com/spn/Web_ProductHome.asp?Country=ESP&language=SPN&productid=30290]] |\n|mSD|256MB| [[15€|http://www.expansys.es/product.asp?code=116181]] | [[€|]] | [[MPX220|http://www.motorola.com/motoinfo/product/details/0,,53,00.html]] |\n|TF|~| [[17€|http://www.expansys.es/product.asp?code=126833]] | [[30€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F108741/cid/19003/Sandisk_Transflash_Mircro_SD_256_MB/]] | [[V360v|http://direct.motorola.com/spn/Web_ProductHome.asp?Country=ESP&language=SPN&productid=30290]] |\n|mSD|128MB| [[10€|http://www.expansys.es/product.asp?code=116102]] | [[25€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F102776/cid/19003/Sandisk_Transflash_micro_SD_128_Mb/]] | [[MPX220|http://www.motorola.com/motoinfo/product/details/0,,53,00.html]] |\n|TF|~| [[15€|http://www.expansys.es/product.asp?code=120477]] | [[25€|http://www.redcoon.es/index.php/cmd/shop/a/ProductDetail/pid/F102776/cid/19003/Sandisk_Transflash_micro_SD_128_Mb/]] | [[V360v|http://direct.motorola.com/spn/Web_ProductHome.asp?Country=ESP&language=SPN&productid=30290]] |
<<today "DD MMM YYYY">>\n\n[img[RSS 2.0|imatges_tw/rss20.gif][tw.xml]\n[[IniciLocal|file:///home/jordi/Curs%20Web%202.0/tw.html]] | [[IniciRemot|http://phobos.xtec.cat/jfontich/tw.html]]\n[[Curs Web 2.0|http://espiral.xtec.net/moodle/course/view.php?id=22]]\n\n[img[Jordi Fontich|imatges_tw/JF-Foto.jpg][JordiFontich]\n\n!Jordi Fontich\n[[...per primer cop|http://phobos.xtec.cat/jfontich]]\n[[mmm... deliciós!|http://del.icio.us/jfontich]]\n[[DiccionariDesordenat]]\n\n\n\n!Tiddly Wiki\n\n[[ComEsFa?]]\n[[La cuina|ComençaAquí]]\n\n\nTiddlyWiki\nBaixaElProgramari\n[[Guia20Minuts|http://pacoriviere.googlepages.com/20minuts.html]]\n[[Connectors]]\n[[Donacions]]\n\n\n^^TiddlyWiki versió <<version>>^^\n\n\n© 2006 [[osmosoft|http://www.osmosoft.com]]\n© 2006 [[frivière|http://www.xtec.cat/~friviere]]\n© 2006 [[jfontich|http://xtec.cat/~jfontich/tw.html]]\n<html><!--Creative Commons License--><a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/"><img alt="Creative Commons License" border="0" src="http://creativecommons.org/images/public/cc-wiki.png"/></a><br/>Esta obra está bajo una <a rel="license" href="http://creativecommons.org/licenses/by-sa/2.5/">licencia de Creative Commons</a>.<!--/Creative Commons License--><!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n <Work rdf:about="">\n <license rdf:resource="http://creativecommons.org/licenses/by-sa/2.5/" />\n </Work>\n <License rdf:about="http://creativecommons.org/licenses/by-sa/2.5/"><permits rdf:resource="http://web.resource.org/cc/Reproduction"/><permits rdf:resource="http://web.resource.org/cc/Distribution"/><requires rdf:resource="http://web.resource.org/cc/Notice"/><requires rdf:resource="http://web.resource.org/cc/Attribution"/><permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/><requires rdf:resource="http://web.resource.org/cc/ShareAlike"/></License></rdf:RDF> --></html>\n\n\n!Uneix-te!\n[img[Usuari Linux #418156|imatges_tw/linuxuserpp.png][http://counter.li.org/reports/trends.php]\n\n\n\n!Estadístiques\n<html><!-- Start of StatCounter Code -->Ja heu passat...<br>\n<a href="http://www.statcounter.com/" target="_blank"><img src="http://c17.statcounter.com/counter.php?sc_project=1702593&java=0&security=2425722a&invisible=0" alt="counter hit make" border="0"></a> visitants!\n<!-- End of StatCounter Code --><br><a href="http://my.statcounter.com/project/standard/stats.php?project_id=1702593&guest=1">Estadístiques</a></html>\n\n\n
El navegador incrustat del SO Microsoft.\n\nPer a mes del 90% dels usuarus del SO Operatiu MS: l'única eina per navegar per Internet.\nPer a la resta: un autèntic malson.
\n|>| !''Navegació'' |\n|!Ordre |!Drecera |\n|Endarrere |Alt+Cursor esquerra |\n|~|Retrocés |\n|~|Control+[ |\n|~|Control+Cursor esquerra |\n|Endavant |Alt+Cursor dret |\n|~|Maj+Retrocés |\n|~|Control+] |\n|~|Control+Cursor dret|\n|~|Maj+Supr |\n|Inici |Alt+Inici |\n|Obre un fitxer |Control+O |\n|Actualitza |F5 |\n|~|ControlCmd+R |\n|Actualitza (la memòria cau) |Control+F5 |\n|~|Control+Maj+R |\n|Atura |Control+. |\n|~|Esc |\n||c
Estàs intentant modificar la pàgina original, no la teva còpia local, és a dir la que has desat al teu ordinador.
El botó ''edita'' només surt a la teva còpia local, és a dir la que has desat al teu ordinador.
Com sempre, Noam Chomsky parla sense embuts, fa llum on només hi ha foscor. Magnífic article al [[Zblog de Noam Chomsky|http://blogs.zmag.org/node/2689]].
<<option chkGenerateAnRssFeed>> GeneraFilRSS\n<<option chkOpenInNewWindow>> ObreEnllaçosEnNovaFinestra\n<<option chkSaveEmptyTemplate>> DesaPlantillesBuides\n<<option chkToggleLinks>> Clicant als enllaços a tiddlers ja oberts els tanca\n^^(s'ignora amb la tecla Control o altre tecla modificadora)^^\n<<option chkHttpReadOnly>> AmagaPossibilitatsDEdicio al veure's com a HTTP\n<<option chkForceMinorUpdate>> Tracta les edicions com a CanvisMenors conservant la data i hora\n^^(s'ignora amb la tecla Shift al clicar 'fet' o amb Ctrl-Shift-Enter^^\n<<option chkConfirmDelete>> ConfirmaAbansDeSuprimir\nMàxim nombre de línies d'una capsa d'edició tiddler: <<option txtMaxEditRows>>\nNom de la carpeta per als arxius de còpia: <<option txtBackupFolder>>\n
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<themeSelect style 'tema'>><<exportTiddlers>><<saveChanges>><<slider chkSliderOptionsPanel TaulerDOpcions 'opcions »' 'Canvia les opcions avançades de TiddlyWiki'>>
\nPer fer una pàgina web necessito:\n\n1. un editor WYSIWYG tipus Dreamweaver o NVU, o sinó un editor de text per codificar a mà;\n2. un navegador per anar provant el que vaig fent;\n3. si vull inserir fulls d'estil, necessito un editor CSS tipus ~TopStyle o, sinó un editor de text per anar codificant a mà;\n4. si vull fer una bitàcola (weblog) he d'anar a internet i donar-me d'alta a qualsevol dels serveis gratuïts que hi ha (blogia, blogger, etc), o sinó instal·lar un programari al meu servidor;\n5. si vull fer un wiki, idem que amb les bitàcoles;\n6. si vull inserir RSS a la meva pàgina web, encara no sé com ho hauria de fer. Segurament deu haver-hi algun servei a internet amb el qual enllaces la teva pàgina i et retorna el fil RSS;\n7. també puc optar per un sistema de gestió de continguts com el ~phpNuke, Mambo, Joomla o similar. Llavors el que necessito és un servidor que em proveeixi el PHP i la base de dades;\n8. etc\n\nAmb el ~TiddlyWiki jo tinc\n1. Una pàgina web;\n2. Un editor;\n3. Una bitàcola;\n4. Un Wiki;\n5. Un editor de fulls d'estil;\n6. Un generador de fils RSS;\n7. etc...\n\n~TiddlyWiki està fet amb les darreres tecnologies CSS, de manera que canviar-ne l'aspecte és tan senzill com canviar el full d'estil. Els continguts no pateixen cap canvi.\n\n~TiddlyWiki funciona en local! Si no tens connexió a Internet no passa res. Fas el que hagis de fer, ho guardes en un disquet (!!) i quan pots vas a un ordinador connectat a internet i ho penges.\n\nT'imagines poder-ho fer servir a l'escola, a l'ordinador de l'aula que encara no té connexió a internet? A més a més no necessita tenir un servidor per poder-se veure en local, tal com passa amb les pàgines web tradicionals. Un ~TiddlyWiki que fas servir a l'aula el pots veure des de qualsevol ordinador de l'escola: només necessites estar connectar a la LAN de l'escola; ho penges a la "T", i ja està!\n\n~TiddlyWiki és una eina social: les millores que jo faig les comparteixo amb tu: només t'he d'indicar el que he fet i, si et convé o t'agrada ho copies i ho enganxes. De fet és el que hem fet durant tot el curs...\n\nÉs per això i moltes d'altres coses perquè m'agrada tant!\n
M'està agradant molt treballar amb TW. Principalment perquè només cal editar els tiddlers de les pàgines que hi ha a internet per aprendre com estan fets... D'aquesta manera he après a personalitzar el menú.\n\n\n1. He organitzat una mica el menú amb títols. Per posar els títols del menú només cal escriure el títol amb el símbol "!" al davant.\n\n2. He posat algunes imatges. Per posar imatges només cal crear una carpeta al mateix directori on està ubicat el TW, posar-hi les imatges i després enllaçar-les des del TW. \n\nDesprés de guardar-ho tot, la carpeta amb les imatges cal pujar-la al servidor a la mateixa ubicació on hi ha el TW.\n\n3. He posat enllaços a les meves pàgines.\n\n4. He personalitzat el tiddler ComençaAquí. Ara mostra el nom [[La cuina|ComençaAquí]].\n\nContinuarà...\n
Al personalitzar el menú no tot han sigut flors i violes i romaní.\n\nM'explico. He perdut un munt de temps intentant posar un comptador de visites. Ho he fet altres cops. \n\nPrimer directament a codi html. Cap problema.\nMés endavant, insertant codi directament entre codi php... Me'n vaig sortir bastant bé, sense gaires esgarrapades!\n\nPerò aquest cop he hagut de parar i fer un descans per llepar-me les ferides... No hi ha hagut manera. Primer, he intentat insertar-lo directament al menú. Després he intentat insertar-lo directament al codi de la pàgina. En ambdós casos no he fracassat del tot, però el resultat no ha estat l'esperat. Així que obriré un tema als fòrums per veure si algun/a gurú de la cosa TW em fa un cop de mà.\n\nContinuarà...
Com aquell que diu, "lo difícil és fer-ho fàcil". \n\nDoncs això. Ja he pogut instal·lar el comptador. Què ha passat? Que he perdut un munt de temps barallant-me amb el javascript quan ho podia fer amb html pur.\n\nLa diferència entre instal·lar codi amb javascript o html? Que no puc aprofitar tota la funcionalitat que m'ofereix statcounter.com, i que m'agrada molt: veure d'on venen els meus visitants i cap a on van...\n\nCom ho he fet? Doncs he hagut de dir-li al generador de codi que només generés codi html. Després ho he enganxat al menú, entre les etiquetes <html> i </html>.
/***\n|!Name:|SlideShowPlugin |\n|!Version:|1.3.0 - 26/02/2006|\n|!Source:|http://www.math.ist.utl.pt/~psoares/addons.html |\n|!Authors:|[[Paulo Soares|mailto:psoares@math.ist.utl.pt]] and [[Clint Checketts|http://www.checkettsweb.com]] |\n|!Type:|Macro |\n|!Requires:|TiddlyWiki >= 2.0.0 |\n!Description\nThis plugin turns a TiddlyWiki tiddler into a simple slide show type display. You can have looping, timed or themed slide shows. It should work in a way that does not interfere with TiddlyWiki. When you close the slide show you get back to your good old TW. \n\nThis plugin has been tested in Firefox, Internet Explorer, Safari, and Opera. Let us know if something seems broken.\n!Usage\nTo use this plugin you //must// be using TiddlyWiki 2.0. Install this tiddler and drop {{{<<slideShow>>}}} at the beginning of the tiddler. Use ! to start each slide with or without a title. Mark the end of your slides with a rule (- - - -). Everything that appears before the first header or after the closing rule is not shown in the slide show. \nThere are also a few navigation buttons and a table of contents that shows up if you click the slide number.\nSee other options in this [[SlideShowExample]].\n!Revision history\nv1.3.0 26/02/2006 - restore open tiddlers on exit, fixed problem with markup in headers (should work with NestedSlidersPlugin), added slide comments (blocks of text in the tiddler that don't show up in the presentation)\nv1.2.1 28/01/2006 - pause timed slideshow with spacebar, clock with 3 different modes, fixed bugs with style and abbreviation options, general cleanup\nv1.2.0 07/01/2006 - added a resume feature and themes support\nv1.1.5 Beta 12/14/2005 - added mouse support and cleaned up navbar generation\nv1.1.0 Beta 12/12/2005 - added support for IE, added key listeners\nv1.0.0 12/11/2005 - initial release\n!Todo\n*Incremental advancement within a slide\n*Cross fade effects\n!Code\n***/\n//{{{\nversion.extensions.SlideShowPlugin = {\n major: 1, minor: 3, revision: 0,\n date: new Date(2006, 2, 26), \n type: 'macro',\n source: "http://www.math.ist.utl.pt/~psoares/addons.html#SlideShowPlugin"\n};\n\nconfig.macros.slideShow = {label: "presentació", maxTOCLength: 30};\nconfig.macros.slideShow.messages = {gotoLabel: "Ves a la diapositiva:"};\nconfig.views.wikified.slideShow = {text: "presentació", tooltip: "Inicia la presentació"};\nconfig.views.wikified.slideShow.quit = {text: "fi", tooltip: "Surt de la presentació"};\nconfig.views.wikified.slideShow.firstSlide = {text: "<<", tooltip: "primera diapositiva"};\nconfig.views.wikified.slideShow.previousSlide = {text: "<", tooltip: "diapositiva anterior"};\nconfig.views.wikified.slideShow.nextSlide = {text: ">", tooltip: "següent diapositiva"};\nconfig.views.wikified.slideShow.lastSlide = {text: ">>", tooltip: "darrera diapositiva"};\n\nfunction changeStyleSheet(tiddlerName) {\n if (tiddlerName == null) tiddlerName = "StyleSheet";\n setStylesheet(store.getTiddlerText("StyleSheetColors"),"StyleSheetColors");\n setStylesheet(store.getTiddlerText("StyleSheetLayout"),"StyleSheetLayout");\n var theCSS = store.getRecursiveTiddlerText(tiddlerName,"");\n setStylesheet(theCSS,"StyleSheet");\n}\n\nconfig.formatters.push({\n name: "slideShowComment",\n match: "%%",\n lookahead: "%%((?:.|\s\sn)*?)%%",\n className: "slideShowComment",\n handler: function(w) {\n var lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n var p = createTiddlyElement(w.output,"span",null,this.className);\n wikify( lookaheadMatch[1], p, null, w.tiddler);\n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n }\n});\n\n//Excellent (and versatile) reparser created by Paul Petterson for parsing the paramString in a macro\nfunction reparse( params ) {\n var re = /([^:\ss]+)(?:\s:((?:\sd+)|(?:["'](?:[^"']+)["']))|\ss|$)/g;\n var ret = new Array() ;\n var m ;\n while( (m = re.exec( params )) != null ) ret[ m[1] ] = m[2]?m[2]:true ;\n return ret ;\n}\n\n// 'keys' code adapted from S5 which in turn was adapted from MozPoint (http://mozpoint.mozdev.org/)\nfunction keys(key) {\n if (!key) {\n key = event;\n key.which = key.keyCode;\n }\n if (document.getElementById('contentWrapper').className == "slideShowMode"){\n switch (key.which) {\n case 32: // spacebar\n if(time>0){\n if(autoAdvance){\n clearInterval(autoAdvance);\n autoAdvance = null;\n } else {\n autoAdvance=setInterval("GoToSlide(1)", time);\n }\n }\n break;\n case 34: // page down\n case 39: // rightkey\n case 40: // downkey\n GoToSlide(1);\n break;\n case 33: // page up\n case 37: // leftkey\n case 38: // upkey\n GoToSlide(-1);\n break;\n case 36: // home\n GoToSlide("f");\n break;\n case 35: // end\n GoToSlide("l");\n break;\n case 27: // escape\n endSlideShow();\n break;\n }\n\n }\n return false;\n}\n\nfunction clicker(e) {\n if (!e) var e = window.event;\n var target = resolveTarget(e);\n //Whenever something is clicked that won't advance the slide make sure that the table of contents gets hidden\n if (target.getAttribute('href') != null || isParentOrSelf(target, 'toc') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object') || isParentOrSelf(target, 'pageFooter') || isParentOrSelf(target, 'navigator')){\n //Don't hide the TOC if the indexNumbers (which trigger the index) is clicked\n if(isParentOrSelf(target,'indexNumbers') || isParentOrSelf(target,'jumpInput')){\n return true;\n }\n showHideTOC('none');\n return true;\n }\n \n //Advance a slide if the TOC is visible otherwise make sure that the TOC gets hidden\n if ((!e.which && e.button == 1) || e.which == 1) {\n if (document.getElementById('toc').style.display != 'block'){\n GoToSlide(1);\n } else {\n showHideTOC('none');\n }\n }\n \n if ((!e.which && e.button == 2) || e.which == 3) {\n if (document.getElementById('toc').style.display != 'block'){\n GoToSlide(-1);\n } else {\n showHideTOC('none');\n }\n return false;\n }\n}\n\nfunction isParentOrSelf(element, id) {\n if (element == null || element.nodeName=='BODY') return false;\n else if (element.id == id) return true;\n else return isParentOrSelf(element.parentNode, id);\n}\n\nfunction GoToSlide(step) {\n var new_pos;\n var slideHolder = document.getElementById('slideContainer');\n //The parse float ensures that the attribute is returned as a number and not a string.\n var cur_pos = parseFloat(slideHolder.getAttribute('currentslide'));\n var numberSlides = slideHolder.getElementsByTagName("div").length;\n switch (step) {\n case "f":\n new_pos=0;\n break;\n case "l":\n new_pos=numberSlides-1;\n break;\n default:\n new_pos=cur_pos+step;\n }\n \n if(slideShowCircularMode && new_pos == numberSlides) new_pos=0;\n if(slideShowCircularMode && new_pos<0) new_pos=(numberSlides - 1);\n if(step!=0 && new_pos>=0 && new_pos<numberSlides) {\n slideHolder.childNodes[cur_pos].style.display='none';\n slideHolder.childNodes[new_pos].style.display='block';\n slideHolder.setAttribute('currentslide',new_pos);\n new_pos++;\n var indexNumbers = document.getElementById('indexNumbers');\n indexNumbers.firstChild.data = new_pos+'/'+numberSlides;\n if((new_pos==numberSlides) && !slideShowCircularMode && autoAdvance) clearInterval(autoAdvance);\n return true;\n }\n return false;\n}\n\nfunction tocShowSlide(e) {\n if (!e) var e = window.event;\n var target = resolveTarget(e);\n var slide = target.getAttribute('slideNumber');\n var cur_pos = document.getElementById('slideContainer').getAttribute('currentslide');\n var step = slide-cur_pos;\n if(step!=0) GoToSlide(step);\n showHideTOC('none');\n return;\n}\n\n//Toggle the display of the table of contents\nfunction showHideTOC(display){\n var toc = document.getElementById('toc');\n //Reset the input box\n document.getElementById('jumpInput').value = "";\n\n if (display == null || display.length == null){\n if (toc.style.display == 'none' || toc.style.display == ''){\n toc.style.display = 'block';\n document.getElementById('jumpInput').focus();\n } else {\n toc.style.display = 'none';\n }\n } else {\n toc.style.display = display;\n if (display == 'block')\n document.getElementById('jumpInput').focus();\n }\n}\n\nfunction makeSignature(title,params){\n var signature = title+store.getTiddler(title).modified;\n if(params['style']) signature += params['style'];\n if(params['repeat']) signature += "repeat";\n if(params['slidePause'] > 0) signature += params['slidePause'];\n if(params['tocLabel']) signature += params['tocLabel'];\n if(params['autostart']) signature += "autostart";\n if(params['clock']) signature += params['clock'];\n return signature;\n}\n\nfunction padZero(par){\n if(par<10) par="0"+par;\n return par;\n}\n\nfunction setClock(){\n var actualTime = new Date();\n var newTime = actualTime - clockStartTime;\n newTime = clockMultiplier*newTime+clockInterval-3600000;\n actualTime.setTime(newTime);\n newTime = padZero(actualTime.getHours()) + ":" + padZero(actualTime.getMinutes())+ ":" + padZero(actualTime.getSeconds());\n var clock = document.getElementById('slideClock');\n clock.firstChild.nodeValue = newTime;\n}\n\nfunction resetClock(){\n var time = new Date(70,1,1,0,0,0);\n if(clockStartTime-time>0) clockStartTime = new Date();\n}\n\nvar title;\nvar place;\nvar autoAdvance=null;\nvar slideClock=null;\nvar time = 0;\nvar slideShowCircularMode;\nvar slideShowStyleSheet;\nvar slideShowParams;\nvar clockMultiplier;\nvar clockInterval;\nvar clockStartTime;\nvar openTiddlers;\n\nconfig.macros.slideShow.handler = function(aPlace,macroName,params,wikifier,paramString,tiddler){\n if(tiddler instanceof Tiddler){\n var lingo = config.views.wikified.slideShow;\n var autostart = false;\n if (!e) var e = window.event;\n \n place = aPlace;\n title = tiddler.title;\n params = reparse(paramString);\n var onclick = function(){config.macros.slideShow.onClickSlideShow(params);};\n createTiddlyButton(aPlace,lingo.text,lingo.tooltip,onclick);\n \n var slideShowHolder = document.getElementById('slideShowWrapper');\n //If no show exist previously, create it\n if(params['autostart']){\n if(slideShowHolder != null){\n var signature = slideShowHolder.getAttribute('showSignature');\n if(signature.indexOf("autostart")==-1) autostart = true;\n } else {autostart = true;}\n if(autostart){\n slideShowParams = params;\n setTimeout("config.macros.slideShow.onClickSlideShow(slideShowParams);",10);\n }\n }\n }\n}\n\nvar disableFunction = function(e){return false;}\nvar enableFunction = function(e){}\n\nconfig.macros.slideShow.onClickSlideShow = function(newParams) {\n\nopenTiddlers = new Array;\nvar viewer=document.getElementById('tiddlerDisplay');\nfor(var i=0; i<viewer.childNodes.length; i++){\n var name = viewer.childNodes[i].getAttribute('tiddler');\n openTiddlers.push(name);\n}\n\n document.oncontextmenu = disableFunction;\n clockMultiplier = 1;\n clockInterval = 0;\n clockStartTime = new Date(70,1,1,0,0,0);\n slideShowCircularMode = false;\n time = 0;\n slideShowStyleSheet = null;\n if(newParams['style']){\n slideShowStyleSheet = eval(newParams['style']);\n } \n if(newParams['repeat']){\n slideShowCircularMode = true;\n }\n if(newParams['slidePause'] > 0){\n time = newParams['slidePause'];\n }\n if(newParams['clock']){\n clockStartTime = new Date();\n var clockType= eval(newParams['clock']);\n if(clockType != '+') {\n clockMultiplier = -1;\n clockInterval = -clockType*60000;\n }\n }\n\n var contentWrapper = document.getElementById('contentWrapper');\n if (contentWrapper.className != "slideShowMode"){\n clearMessage();\n //Attach the key and mouse listeners\n document.onkeyup = keys;\n document.onmouseup = clicker;\n \n var slideShowHolder = document.getElementById('slideShowWrapper');\n //If no show exist previously, create it\n if(slideShowHolder == null){\n createSlides(newParams);\n //If there was once waiting in the background and it matches the one we just started, resume it\n } else if (slideShowHolder.getAttribute('showSignature') == makeSignature(title,newParams)){\n \n //Remove dblClick on edit function\n var theTiddler = document.getElementById("tiddler"+title);\n theTiddler.ondblclick = function() {};\n\n // Grab the 'viewer' element and give it a signature so the show can be resumed if stopped\n var tiddlerElements = theTiddler.childNodes;\n var viewer;\n for (var i = 0; i < tiddlerElements.length; i++){\n if (tiddlerElements[i].className == "viewer") viewer = tiddlerElements[i];\n }\n theTiddler.insertBefore(slideShowHolder,viewer);\n theTiddler.removeChild(viewer);\n slideShowHolder.style.display = 'block';\n document.getElementById("pageFooter").className = "pageFooterOff";\n \n //If the show we started it totally new than the resumable one, create the new one and kill the resumable one\n } else {\n slideShowHolder.parentNode.removeChild(slideShowHolder);\n createSlides(newParams);\n }\n slideClock=setInterval("setClock()", 1000); \n if(time>0) autoAdvance=setInterval("GoToSlide(1)", time); \n story.closeAllTiddlers(title);\n toggleSlideStyles();\n } else {\n endSlideShow();\n }\n return ;\n \n}\n\nfunction endSlideShow(){\n //Set aside show so it can be resumed later\n var showHolder = document.getElementById('slideShowWrapper');\n showHolder.style.display = 'none';\n document.getElementById('contentWrapper').parentNode.appendChild(showHolder);\n document.oncontextmenu = enableFunction;\n if(autoAdvance) clearInterval(autoAdvance);\n if(slideClock) clearInterval(slideClock);\n story.refreshTiddler(title,null,true);\n story.closeAllTiddlers();\n story.displayTiddlers(null,openTiddlers,DEFAULT_VIEW_TEMPLATE);\n document.onmouseup = function(){};\n toggleSlideStyles();\n}\n\nfunction isInteger(s){\n var i;\n for (i = 0; i < s.length; i++){\n // Check that current character is number.\n var c = s.charAt(i);\n if (((c < "0") || (c > "9"))) return false;\n }\n // All characters are numbers.\n return true;\n}\n\nfunction jumpInputToSlide(e){\n if (!e) {\n e = window.event;\n e.which = e.keyCode;\n }\n if(e.which==13){\n var jumpInput= document.getElementById("jumpInput").value;\n if(isInteger(jumpInput)){\n var step=jumpInput-document.getElementById('slideContainer').getAttribute('currentslide')-1;\n if (GoToSlide(step)){\n showHideTOC('none'); \n }\n }\n }\n return;\n}\n\n//Used to shorten the TOC fields\nfunction abbreviateLabel(label){\n// if (label == null) label = "A Slide" //This is just a place holder fix\n var maxTOCLength = config.macros.slideShow.maxTOCLength;\n if(label.length>maxTOCLength) {\n var temp = new Array();\n temp = label.split(' ');\n label = temp[0];\n for(var j=1; j<temp.length; j++){\n if((label.length+temp[j].length)<=maxTOCLength){\n label += " " + temp[j];\n } else {\n label += " ...";\n break;\n }\n }\n }\n return label;\n}\n\ncreateSlides = function(newParams){\n var lingo = config.views.wikified.slideShow;\n\n //Remove dblClick on edit function\n var theTiddler = document.getElementById("tiddler"+title);\n theTiddler.ondblclick = function() {};\n\n // Grab the 'viewer' element and give it a signature so the show can be resumed if stopped\n var tiddlerElements = theTiddler.childNodes;\n var viewer;\n for (var i = 0; i < tiddlerElements.length; i++){\n if (tiddlerElements[i].className == "viewer") viewer = tiddlerElements[i];\n }\n viewer.id = 'slideShowWrapper';\n viewer.setAttribute("showSignature",makeSignature(title,newParams));\n\n //Hide the text that comes before the first H1 element (I think I may put this into a cover page type thing)\n while(viewer.childNodes.length > 0 && viewer.firstChild.nodeName.toUpperCase() != "H1") {\n viewer.removeChild(viewer.firstChild);\n }\n \n //Cycle through the content an each time you hit an H1 begin a new slide div\n var slideNumber = 0;\n var slideHolder = document.createElement('DIV');\n slideHolder.id = "slideContainer";\n \n while(viewer.childNodes.length > 0){\n //Create a new slide a append it to the slide holder\n if (viewer.firstChild.nodeName == "H1"){\n slideNumber++;\n var slide = document.createElement('DIV');\n slide.id = "slideNumber"+slideNumber;\n slide.className = "slide";\n if (slideNumber > 1) {\n slideHolder.setAttribute('currentslide',0);\n slide.style.display='none';\n } else {\n slide.style.display='block';\n }\n slideHolder.appendChild(slide); \n }\n\n //Grab the first thing in the viewer and check to see if its an H1, if so put it in a slide, it will shift everything else forward\n slide.appendChild(viewer.firstChild);\n\nif(viewer.childNodes.length > 0 && viewer.firstChild.className=="slideShowComment") {\n viewer.removeChild(viewer.firstChild);\n }\n\n //If you hit a horizontal rule (HR) remove the remaining elements until you hit an H1\n if(viewer.childNodes.length > 0 && viewer.firstChild.nodeName=="HR") {\n while(viewer.childNodes.length > 0 && viewer.firstChild.nodeName != "H1") {\n viewer.removeChild(viewer.firstChild);\n }\n }\n }\n \n //Stick the slides back into the viewer\n viewer.appendChild(slideHolder);\n\n \n //Create the navigation bar\n var pagefooter = createTiddlyElement(viewer,"DIV","pageFooter","pageFooterOff");\n var navigator = createTiddlyElement(pagefooter,"SPAN","navigator");\n\n //Make it so that when the footer is hovered over the class will change to make it visible\n pagefooter.onmouseover = function () {pagefooter.className = "pageFooterOn"};\n pagefooter.onmouseout = function () {pagefooter.className = "pageFooterOff"};\n\n //Create the control button for the navigation \n var onClickQuit = function(){endSlideShow();};\n createTiddlyButton(navigator,lingo.quit.text,lingo.quit.tooltip,onClickQuit);\n createTiddlyButton(navigator,lingo.firstSlide.text,lingo.firstSlide.tooltip,first_slide);\n createTiddlyButton(navigator,lingo.previousSlide.text,lingo.previousSlide.tooltip,previous_slide);\n createTiddlyButton(navigator,lingo.nextSlide.text,lingo.nextSlide.tooltip,next_slide);\n createTiddlyButton(navigator,lingo.lastSlide.text,lingo.lastSlide.tooltip,last_slide); \n\n var clock = createTiddlyElement(navigator,"SPAN","slideClock","slideClock","");\n clock.onclick = resetClock;\n\n var indexNumbers = createTiddlyElement(pagefooter,"SPAN","indexNumbers","indexNumbers","1/"+slideNumber)\n indexNumbers.onclick = showHideTOC;\n\n var toc = createTiddlyElement(pagefooter,"UL","toc");\n\n \n for (var i=0;i<slideHolder.childNodes.length;i++) {\n //Loop through each slide and check the header's content\n var tocLabel = null;\n\n if(slideHolder.childNodes[i].firstChild.hasChildNodes()){\n var htstring = slideHolder.childNodes[i].firstChild.innerHTML;\n var stripped = htstring.replace(/(<([^>]+)>)/ig,""); \n tocLabel = abbreviateLabel(stripped);\n } else if (newParams['tocLabel'] != null){\n j=i+1;\n tocLabel = eval(newParams['tocLabel'])+" "+j;\n }\n \n //If the slide doesn't have a title (explicit or generated) don't include it in the table of contents\n if (tocLabel != null){\n var tocItem = createTiddlyElement(toc,"LI",null,"tocLevel1");\n var tocLink = createTiddlyElement(tocItem,"A",null,"tocItem",tocLabel);\n tocLink.setAttribute("slideNumber",i);\n tocLink.onclick=tocShowSlide; \n }\n \n\n for (var j=1;j<slideHolder.childNodes[i].childNodes.length;j++) {\n var node = slideHolder.childNodes[i].childNodes[j];\n if(node.nodeName=="H2" || node.nodeName=="H3" || node.nodeName=="H4") {\n var htstring = node.innerHTML;\n var stripped = htstring.replace(/(<([^>]+)>)/ig,"");\n tocLabel = abbreviateLabel(stripped);\n switch (node.nodeName) {\n case "H2":\n var tocItem = createTiddlyElement(toc,"LI",null,"tocLevel2");\n break;\n case "H3":\n var tocItem = createTiddlyElement(toc,"LI",null,"tocLevel3");\n break;\n case "H4":\n var tocItem = createTiddlyElement(toc,"LI",null,"tocLevel4");\n }\n var tocLink = createTiddlyElement(tocItem,"A",null,"tocItem",tocLabel);\n tocLink.setAttribute("slideNumber",i);\n tocLink.onclick=tocShowSlide;\n }\n }\n }\n \n\n //Input box to jump to s specific slide\n var tocItem = createTiddlyElement(toc,"LI",null,"tocJumpItem",config.macros.slideShow.messages.gotoLabel);\n var tocJumpInput = createTiddlyElement(tocItem,"INPUT","jumpInput");\n tocJumpInput.type="text";\n tocJumpInput.onkeyup=jumpInputToSlide;\n}\n\nvar next_slide= function(e){GoToSlide(1);}\nvar first_slide= function(e){GoToSlide("f");}\nvar previous_slide= function(e){GoToSlide(-1);}\nvar last_slide= function(e){GoToSlide("l");}\n\nfunction toggleSlideStyles(){\n var contentWrapper = document.getElementById('contentWrapper');\n if (contentWrapper.className == "slideShowMode"){\n contentWrapper.className = "";\n if(slideShowStyleSheet) changeStyleSheet();\n } else{\n contentWrapper.className = "slideShowMode";\n if(slideShowStyleSheet) changeStyleSheet(slideShowStyleSheet);\n }\n}\n\nsetStylesheet("/***\sn!Slide Mode Styles\sn***/\sn/*{{{*/\sn#contentWrapper.slideShowMode #slideContainer{\sn display: block;\sn}\sn\sn#jump{\sn text-align: right;\sn}\sn\sn.pageFooterOff #navigator{\sn visibility: hidden;\sn}\sn\sn.pageFooterOn #navigator{\sn visibility: visible;\sn}\sn\sn#contentWrapper.slideShowMode #slideClock{\sn cursor: pointer; margin: 0 5px 0 5px; border: 1px solid #db4\sn}\sn\sn#contentWrapper.slideShowMode,\sn #contentWrapper.slideShowMode #displayArea{\sn width: 100%;\sn font-size: 1.5em;\sn margin: 0;\sn padding: 0;\sn}\sn\sn#slideContainer{\sn display: none;\sn}\sn\sn#contentWrapper.slideShowMode #sidebar,\sn#contentWrapper.slideShowMode #mainMenu,\sn#contentWrapper.slideShowMode .header,\sn#contentWrapper.slideShowMode #displayArea .toolbar,\sn#contentWrapper.slideShowMode #displayArea .footer,\sn#contentWrapper.slideShowMode #displayArea .subtitle,\sn#contentWrapper.slideShowMode #displayArea .tagged,\sn#contentWrapper.slideShowMode #displayArea .tagging\sn{\sn display:none;\sn}\sn\sn.indexNumbers{\sn cursor: pointer;\sn}\sn\sn#navigator{\sn visibility: hidden;\sn bottom: 0;\sn}\sn\sn#toc{\sn display: none;\sn position: absolute;\sn font-size: .75em;\sn bottom: 2em;\sn right: 0;\sn background: #fff;\sn border: 1px solid #000;\sn text-align: left;\sn}\sn\snul#toc, #toc li{\sn margin: 0;\sn padding: 0;\sn list-style: none;\sn line-height: 1em;\sn}\sn\sn.tocJumpItem{\sn margin-right: 2em;\sn}\sn\sn.tocJumpItem input{\snmargin-right: 1em;\sn border: 0;\sn}\sn\sn#toc a,\sn#toc a.button{\sn display: block;\sn padding: .1em;\sn}\sn\sn#toc .tocLevel1{\snfont-size: .8em;\sn}\sn\sn#toc .tocLevel2{\sn margin-left: 1em;\sn font-size: .75em;\sn}\sn\sn#toc .tocLevel3{\sn margin-left: 2em;\snfont-size: .75em;\sn}\sn\sn#toc .tocLevel4{\sn margin-left: 3em;\snfont-size: .65em;\sn}\sn\sn#toc a{\sn cursor: pointer;\sn}\sn\snh1{\sn min-height: 1em;\sn}\sn\sn.slide h1{\sn min-height: 0;\sn}\sn\sn/* The '>' selector is ignored by IE6 and earlier so the proper rules are given */\sn#pageFooter{\sn position: fixed;\sn bottom: 2px;\sn right: 2px;\sn width: 100%;\sn text-align: right;\sn}\sn\sn/* This is a hack to trick IE6 and earlier to put the navbar on the bottom of the page */\sn* html #pageFooter {\sn position: absolute;\sn width: 100%;\sn text-align: right;\sn right: auto; bottom: auto;\sn left: expression( ( -20 - pageFooter.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );\sn top: expression( ( -10 - pageFooter.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );\sn}\sn\sn\sn\sn/*}}}*/","slideShowStyles");\n//}}}
Escriu els aliments que conèixes que són rics en proteïnes.
''[[Els aliments]]'': Una proposta d'aplicació didàctica. Ho vull acabar de polir però la idea la tinc clara.\n\nNo és una aplicació didàctica però van de la mà:\n\n''[[Activitats]]'': M'ha agradat molt el calendari gran. Per posar-lo al capdamunt de la pàgina. El calendari pot ser \n*un dietari del que va passant, recollint informació del dia a dia;\n*una agenda, per a les tasques pendents o previstes;\n*marca el pas del temps: \n**preparació del trimestre;\n**dates importants (avaluacions, clàustres, ...); \n**programacions; \n**control de la despesa; \n**dies importants: festes, aniversaris, dates assenyalades\n\n//El límit el marca la imaginació de cadascú.//
Va de la ma de les [[aplicacions didàctiques|Pràctica2]].\n\n''[[Activitats]]'': M'ha agradat molt el calendari gran. Per posar-lo al capdamunt de la pàgina. El calendari pot ser \n*un dietari del que va passant, recollint informació del dia a dia;\n*una agenda, per a les tasques pendents o previstes;\n*marca el pas del temps: \n**preparació del trimestre;\n**dates importants (avaluacions, clàustres, ...); \n**programacions; \n**control de la despesa; \n**dies importants: festes, aniversaris, dates assenyalades\n\n//El límit el marca la imaginació de cadascú.//
Connector TriaTema instal·lat. Després d'un ensurt inicial, l'he estat provant i va força bé. Com que encara no he actualitzat de versió, alguns temes em desconfiguren la capçalera, el menú, etc. M'agrada una interfície senzilla, clara, sense gaires floritures que distreguin, que convidi a la pau i a la tranquilitat. El TiddlyWiki fa la resta.
''[[Els aliments: classificació...]]'': Genial. Magraden les presentacions del Tiddly: tan fàcils de fer que a partir d'ara em penso que a les meves classes en farem unes quantes.
[[12 de juliol de 2006]]: Control de l'activitat, dins un dietari. He formatat les diferents activitats en funció del seu estat.
[[Xivatilla: TiddlyWiki en un cop d'ull]]: He començat a fer una taula sense saber ben bé què hi posaria, només per fer-la... i m'he anar animant1 Al final ja no sabia com acabar-la. He portat el formatat de taules al seu límit. Però això no ho podré mostrar aquí. Aquesta taula haurà d'acabar fragmentada per ser més instl·ligible. Falta una mica d'informació, també...
[[RSS|tw.xml]]\n[[Etiquetes]]\nWikiBar\n
[[Pràctica2]] | [[Pràctica3]] | [[Pràctica4]] | [[Pràctica5]] | [[Pràctica6]] | [[Pràctica7]] | [[Pràctica8]]
\n|>| !Pàgina actual |\n|!Ordre |!Drecera |\n|al final de la pàgina |Fi |\n|al principi de la pàgina |Inici |\n|al següent marc |F6 |\n|al marc anterior |Maj+F6 |\n|Informació de la pàgina |Control+I |\n|Font de la pàgina |Control+U |\n|Imprimeix |Control+P |\n|Anomena i desa la pàgina |Control+S |\n|Redueix text |Control+- |\n|Augmenta text |Control++ |\n|Restableix text |Control+0 |\n||c
\n''Matemàtiques''\n[[Recursos|http://www.xtec.es/formaciotic/presentacions/mates/index.htm]] | [[Ponència Jornades TIC|http://www.xtec.net/crp-terrassa/textponencia.pdf]] | [[Materials|http://www.xtec.net/crp-terrassa/tic-mates.htm]]\n\n''Ciències socials''\n[[Recursos|http://www.xtec.es/formaciotic/presentacions/socials/index.htm]] | [[Ponència Jornades TIC|http://www.xtec.net/crp-terrassa/tic-socials.htm]] | [[Materials|http://www.xtec.net/crp-terrassa/tic-socials.htm]]\n\n''Llengua''\n[[Recursos|http://www.xtec.es/formaciotic/presentacions/llengua/index.htm]] | [[Ponència Jornades TIC|http://www.xtec.net/crp-terrassa/tic-llengua.htm]] | [[Materials|http://www.xtec.net/crp-terrassa/tic-llengua.htm]]\n\n''Anglès''\n[[Recursos|http://www.xtec.net/formaciotic/presentacions/llenguaanglesa/index.htm]] | [[Enllaç CRLE|http://www.xtec.es/crle/]]\n
El fill RSS es troba [[aquí|index.xml]]. L'opció de generar un fil RSS encara està en desenvolupament, i s'ha d'acabar de polir en les properes versions. Només incorpora el text sense enllaços ni format, però permet seguir els canvis fàcilment. Podeu crear un fil RSS al vostre propi TiddlyWiki amb l'[[opció avançada|OpcionsAvançades]] GeneraFilRSS.\n\nMés informació sobre el fil RSS (en anglés):\n\nhttp://www.tiddlywiki.com/index.html#RssFeed
\n\n\n|>|>|>|>|>|bgcolor(blue): Primer B |\n|!Nom alumne|!Taller|!Informatica|!Examen|!Media|\n|Arbolí Casasola Eva| 6| 5| @@color(red): 4@@|<<ta R avg>>|\n|Andreu Sánchez Josep| 7| 6| 8|<<ta R avg>>|\n|Borrull Galofre, Anna| 8| 7| @@color(red): 2@@|<<ta R avg>>|\n|>|>|>|>|bgcolor(black): |\n|Glanadell Jofre ,Anna| 6| @@color(red): 4@@| 8|<<ta R avg>>|\n|Huguet Benaiges, Neus| 6| 7| 7|<<ta R avg>>|\n|Jofre Marti, Immaculada| 6| 7| @@color(red): 4@@|<<ta R avg>>|\n|>|>|>|>|bgcolor(black): |\n|Oliveras Robinot, Eva| 6| @@color(red): 2@@| 6|<<ta R avg>>|\n|Roig Roselló, Marta| 6| 5| @@color(red): 3@@|<<ta R avg>>|\n|Rovira Darder, Angels| 6| 7| 6|<<ta R avg>>|\n|>|>|>|>|bgcolor(black): |\n|Sole Jorba, Mireia| @@color(red): 4@@| 7| 8|<<ta R avg>>|\n|Timó Valls Oriol| @@color(red): 4@@| 5| 8|<<ta R avg>>|\n|Valls Sole Marfi| @@color(red): 4@@| @@color(red): 4@@| 7|<<ta R avg>>|\n|Aquestes notes són provisionals|c\n\n\n!\n\n\n
/***\n\n''This plugin was previously called StyleChooser.''\n\n|Name|SelectThemePlugin|\n|Created by|SimonBaird and SaqImtiaz|\n|Location|http://lewcid.googlepages.com/lewcid.html#SelectThemePlugin|\n|Version|1.2.3|\n|Requires|~TW2.x|\n!Description\n*An alternative style switcher, can be used to switch just stylesheets and/or pagetemplates, or a combination of both (a theme)\n*you can add your own stylesheets and pagetemplates, or use a ThemePack, like BigThemePack.\n\n!Usage\n* You have to have fetch or create some styleSheets and pageTemplates to use this plugin.\n**You can either get a ThemePack like BigThemePack which automatically adds themes to ThemeSelect.\n**or create tiddlers with styleSheets and pageTemplates and tag them styleSheets and pageTemplates respectively.\n* Put {{{<<themeSelect style 'Select theme'>>}}} in your SideBarOptions.\n\n!Creating Theme Packs\n*You can create your own theme pack if you like. Instructions can be found [[here.|CreateThemePack]]\n\n!History\n* 15-May-06, v1.2.3, added paramifier so you can put theme on url, eg http://www.somewhere.com/twfile.html#theme:Berry2, thanks Clint (Simon).\n* 28-Apr-o6, v1.2.2, fixed bug with opening TW after deleting themepacks. (Saq)\n* 26-Apr-06, v1.2.1, more code optimization, dropdowns now updated on the fly. (Saq)\n* 25-Apr-06, v1.2.0, added 3rd party ThemePack support, and made various other improvements.(Simon & Saq)\n* 24-Apr-06, v1.1.0, added: no styles and default styles options,<<br>>support for ThemePack, support for tag variations(Saq)\n* 21-Apr-06, v1.0.0, Reworked dropdowns to include option for pagetemplates (Saq)\n* 21-Apr-06, v0.9.0, Rewrote and added Saq's lovely dropdown select (Simon)\n* 20-Apr-06, v0.0.1, Basic switcher working (Simon)\n\n!Examples\n|!Source|!Output|h\n|{{{<<themeSelect style>>}}} for a dropdown with StyleSheets|<<themeSelect style>>|\n|{{{<<themeSelect pagetemplate>>}}} for a dropdown with PageTemplates|<<themeSelect pagetemplate>>|\n|{{{<<themeSelect style customlabel>>}}} to use a customlabel|<<themeSelect style customlabel>>|\n* When applying a stylesheet or template, it also looks for a template or stylesheet respectively based on naming convention, eg MyFunkyStyleSheet and MyFunkyPageTemplate.\n\n!Notes\n* See also http://www.tiddlytools.com/#SelectStyleSheetPlugin for a more feature-rich style sheet switcher\n\n! Ideas\n* do ViewTemplate also?\n* Pretty up the [x] bit\n\n!Code\n***/\n//{{{\n// for compatibility with TW <2.0.9\nif (!Array.prototype.contains)\n Array.prototype.contains = function(item)\n {\n return this.find(item) != null;\n };\n\n// for compatibility with TW <2.0.9\nif (!Array.prototype.containsAny)\n Array.prototype.containsAny = function(items)\n {\n for(var i=0; i<items.length; i++)\n if (this.contains(items[i]))\n return true;\n return false;\n };\n//}}}\n\n//{{{\nversion.extensions.SelectTheme = { major: 1, minor: 2, revision: 3, date: new Date(2006,5,15),\n source: "http://lewcid.googlepages.com/lewcid.html#SelectTheme"\n};\n\nconfig.SelectTheme = {\n things: {\n style: {\n tag: ["StyleSheets","StyleSheet","styleSheet","styleSheets","stylesheet","stylesheets"],\n theDefault: "StyleSheet",\n suffix: "StyleSheet",\n notify: refreshStyles,\n cookie: "txtStyleSheet",\n otherThing: "pagetemplate",\n label: "Choose StyleSheet: ",\n tooltip: "Choose a StyleSheet",\n caseNone: { text:"None", title:"NoStyleSheet"},\n caseDefault: { text:"Default", title:"StyleSheet" }\n\n },\n pagetemplate: {\n tag: ["PageTemplates","PageTemplate","pageTemplates","pageTemplate","pagetemplate","pagetemplates"],\n theDefault: "PageTemplate",\n suffix: "PageTemplate",\n notify: refreshPageTemplate,\n cookie: "txtPageTemplate",\n otherThing: "style",\n label: "Choose PageTemplate: ",\n tooltip: "Choose a PageTemplate",\n caseNone: { text:"None", title:"NoPageTemplate"},\n caseDefault: { text:"Default", title:"PageTemplate" }\n }\n\n },\n\n specialCases: ["caseNone","caseDefault"]\n\n};\n\nTiddlyWiki.prototype.removeNotification = function(title,fn) {\n for (var i=0;i<this.namedNotifications.length;i++)\n if((this.namedNotifications[i].name == title) && (this.namedNotifications[i].notify == fn))\n this.namedNotifications.splice(i,1); // counting on it only being there once\n}\n\n\nvar things = config.SelectTheme.things;\nvar specialCases=config.SelectTheme.specialCases;\n\nfor (var t in things) {\n // make sure we have a value\n if (!config.options[things[t].cookie])\n config.options[things[t].cookie] = things[t].theDefault;\n\n // remove core notify\n store.removeNotification(things[t].theDefault,things[t].notify);\n\n // and add our one\n store.addNotification(config.options[things[t].cookie],things[t].notify);\n\n}\n\n//checks to see if a tiddler exists in store or as a shadow.\nTiddlyWiki.prototype.isTiddler= function (title)\n {return store.tiddlerExists(title) || store.isShadowTiddler(title)}\n\n//hijack core function & make sure template exists\nwindow.applyPageTemplate_themeSelect=window.applyPageTemplate;\nwindow.applyPageTemplate=function(title){\n if(!store.isTiddler(title))\n {title = things.pagetemplate.theDefault;}\n applyPageTemplate_themeSelect(title);\n }\n\nTiddlyWiki.prototype.makeActiveTheme = function(what,title,alsoCheckOtherThing) {\n\n var thing = things[what];\n if (!store.isTiddler(title))\n title = thing.theDefault;\n\n var oldTitle = config.options[thing.cookie];\n\n if (what == "style") {\n // remove old style element from DOM\n var oldStyleElement = document.getElementById(oldTitle);\n oldStyleElement.parentNode.removeChild(oldStyleElement);\n }\n\n store.removeNotification(oldTitle,thing.notify);\n store.addNotification(title,thing.notify);\n store.notify(title);\n\n config.options[thing.cookie] = title;\n saveOptionCookie(thing.cookie);\n if (alsoCheckOtherThing)\n this.makeActiveTheme(thing.otherThing,\n title.replace(new RegExp(thing.suffix+"$"),"") + things[thing.otherThing].suffix,\n false);\n};\n\n\nconfig.shadowTiddlers.NoStyleSheet = "";\nconfig.shadowTiddlers.NoPageTemplate = config.shadowTiddlers.PageTemplate;\n\n\nfunction switchTheme(e){\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var theLink = theTarget;\n var switchTo= theLink.getAttribute("switchTo");\n var mode = theLink.getAttribute("mode");\n if ((config.options[things[mode].cookie])!=switchTo)\n {store.makeActiveTheme(mode,switchTo,true);};\n return(false);\n}\n\n\nconfig.macros.themeSelect={};\nconfig.macros.themeSelect.dropdownchar = (document.all?"▼":"▾");\nconfig.macros.themeSelect.handler = function(place,macroName,params,wikifier,paramString,tiddler){\n var arrow = config.macros.themeSelect.dropdownchar;\n var mode = params[0];\n var label = (params[1]?params[1]:things[mode].label) + arrow;\n var cookie = (config.options[things[mode].cookie]);\n\n var onclick = function(e)\n { if (!e) var e = window.event;\n var popup = Popup.create(this);\n\n var tagged=[];\n\n store.forEachTiddler(function(title,tiddler) {\n if ((tiddler.tags).containsAny(things[mode].tag)){\n tagged.push(tiddler.title);}\n });\n\n //integrate ThemePacks\n if (config.themes) {\n // see what themes have been loaded...\n for (var i=0;i<config.themes.length;i++) {\n // see if there is one\n var lookForThis = config.themes[i] + things[mode].suffix;\n if (store.isShadowTiddler(lookForThis)) {\n tagged.pushUnique(lookForThis);\n }\n }\n tagged = tagged.sort();\n }\n\n //this function used later to create buttons\n var createThemeButton = function(switchTo){\n var theButton = createTiddlyButton(createTiddlyElement(popup,"li"),text,null,switchTheme,useClass);\n theButton.setAttribute("switchTo",switchTo);\n theButton.setAttribute("mode",mode);};\n\n //create Buttons for None(shadow styles) & Default (StyleSheet)\n // Default button is not created if StyleSheet doesnt exist.\n for(var t=0; t<specialCases.length; t++){\n var special = specialCases[t];\n var text = things[mode][special].text;\n var useClass = "tiddlyLinkExisting"; //redundant, optimize!\n if ((things[mode][special].title==cookie)||(special=="caseNone"&&!store.isTiddler(cookie)))\n {text+= " [x]";\n useClass = "currentlySelected";}\n if (!((special=="caseDefault")&&(!store.getTiddler(things[mode][special].title))))\n createThemeButton(things[mode][special].title); }\n\n //insert horizontal rule\n createTiddlyElement(createTiddlyElement(popup,"li"),"hr");\n\n //create buttons for all other stylesheet tiddlers\n for(var t=0; t<tagged.length; t++)\n { var useClass = "tiddlyLinkExisting";\n var text = (tagged[t]).replace((things[mode].suffix),"");\n if (tagged[t]==(cookie) )\n {text+=" [x]"; useClass="currentlySelected";}\n if ((tagged[t]!= (things[mode].theDefault))&&tagged[t]!= (things[mode].none))\n {createThemeButton(tagged[t]);}}\n Popup.show(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation)\n e.stopPropagation();\n return(false);\n };\n\n var createdropperButton = function(place){\n var sp = createTiddlyElement(place,"span",null,"ThemeChooserButton");\n var theDropDownBtn = createTiddlyButton(sp,label,things[mode].tooltip,onclick);\n };\n\n createdropperButton(place);\n};\n\n\nsetStylesheet(".popup li a.currentlySelected {background:#ccc;color:black;font-weight:bold;}","currentlySelectedStyle"); // could do better probably...\n\nconfig.macros.layoutChooser=config.macros.themeSelect;\n\n//shadow tiddler to hold instructions for creating ThemePacks\nconfig.shadowTiddlers.ThemePack='See http://simonbaird.com/mptw/#CreateThemePack'; \n\nconfig.macros.applyTheme = {handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n var theme = params[0];\n var label = params[1]?params[1]:'Apply theme "' + theme + '"';\n var tooltip = 'Apply the "'+theme+'" theme to this TiddlyWiki';\n createTiddlyButton(place,label,tooltip,function() {\n store.makeActiveTheme("style",theme+things.style.suffix,true);\n });\n}};\n\n\n// this means you can put #theme:ThemeName in url. suggested by Clint\nconfig.paramifiers.theme = {\n onstart: function(themeName) {\n store.makeActiveTheme("style",themeName+config.SelectTheme.things.style.suffix,true);\n }\n};\n\n//}}}
una idea sense volta ni solta
El diccionari desordenat
http://phobos.xtec.cat/jfontich/tw.html\n
una idea sense volta ni solta
Escriu els aliments que conèixes que són rics en sucres.
<html>\n<script charset="UTF-8" type="text/javascript" src="http://swicki.eurekster.com/sidebar?groupkey=2afb881d-48a8-4c74-9e94-5f5bbfeb6906&seckey=b1cab014-1d53-4e72-9057-3c310aa8e929&target=_self&numresults=20&format=js"></script><noscript><font size="-1">check out the <a href="http://per-primer-cop-swicki.eurekster.com">...per primer cop</a> <a href="http://swicki.eurekster.com">swicki</a> at <a href="http://www.eurekster.com">eurekster.com</a></font></noscript>\n</html>
/***\n|''Name:''|TableAggregatePlugin|\n|''Version:''|1.0.0 (2006-05-25)|\n|''Source:''|http://adamatti.googlepages.com/TableAggregate.html|\n|''Author:''|Marcelo Adamatti (adamatti [at] gmail [dot] com)|\n|''Licence:''|[[BSD open source license]]|\n|''TiddlyWiki:''|2.0.11|\n|''Browser:''|Firefox 1.5.0.2; ~InternetExplorer 6.0|\n!About/Usage\n<<tiddler About>>\n!Samples\n<<tiddler Samples>>\n!Compatibility\n<<tiddler Compatibility>>\n!Revision History\n<<tiddler 'Revision History'>>\n!Code\nThe code is compressed. \n/%\n***/\nconfig.macros.ta = {\n //VERSION\n major: 0, \n minor: 1, \n revision: 0, \n date: new Date(2006,5,24),\n source:"http://adamatti.google.com",\n counter:0,\n //PROCESS ROW\n processR:function(funcao,idDiv){\n var div = document.getElementById("div" + idDiv);\n var td = div.parentNode;\n while(td.tagName!="TD" && td.tagName!="TH"){\n td=td.parentNode; \n }\n var tr = td.parentNode;\n for (var i=0;i<tr.childNodes.length;i++){\n var aux = tr.childNodes[i];\n if (aux.tagName=="TD" || aux.tagName=="TH") { \n try{ \n var x=0;\n if(document.all){\n x = parseFloat(aux.innerText); \n }else{\n x = parseFloat(aux.textContent); \n }\n if (!isNaN(x))\n funcao.process(x);\n }catch(e){}\n }\n }\n div.innerHTML=funcao.resultado;\n },\n //PROCESS COL\n processC:function(funcao,idDiv){\n var div = document.getElementById("div" + idDiv);\n var td = div.parentNode;\n while(td.tagName!="TD" && td.tagName!="TH")\n td=td.parentNode; \n var coluna = td.cellIndex;\n var tbody = td.parentNode.parentNode;\n for (var i=0;i<tbody.childNodes.length;i++){ \n var tr = tbody.childNodes[i];\n var aux = tr.childNodes[coluna];\n if (aux.tagName=="TD" || aux.tagName=="TH") { \n try{ \n var x=0;\n if(document.all){\n x = parseFloat(aux.innerText); \n }else{\n x = parseFloat(aux.textContent); \n }\n if (!isNaN(x))\n funcao.process(x);\n }catch(e){}\n }\n }\n div.innerHTML=funcao.resultado;\n },\n //FUNCTIONS\n funcs:{\n avg:function() {\n this.qtd=0;\n this.somador=0;\n this.resultado=0;\n this.process=function (valor){\n this.somador+=parseFloat(valor);\n this.qtd++;\n this.resultado=(this.somador/this.qtd);\n } \n },\n sum:function (){\n this.resultado=0; \n this.process=function (valor){\n this.resultado+=valor;\n } \n }\n },\n handler:function(place,macroName,params) {\n var rowCol = params[0];\n var func = params[1];\n var counter=++config.macros.ta.counter;\n place.innerHTML="<div id=div" + counter + "></div><iframe "\n + "onload=\s"{var o=new config.macros.ta.funcs." + func + "();"\n + "config.macros.ta.process" + rowCol + "(o," + counter + ");}\s" "\n + "style=\s"display:none\s">"\n "<\s/iframe>";\n }\n};\n//%/
He estat remenant codi CSS a parir de la idea de posar el MenuPrincipal sota la capçalera. La idea és fer un TiddlyWiki base amb el tema per defecte.\n\n[[tema nou|http://phobos.xtec.cat/jfontich/tema.html]]\n
Contingut del Tiddler Desplegable1
Contingut del Tiddler Desplegable2
Contingut de la Pestanya1
Contingut de la Pestanya2
[[Tema personalitzat]]\n[[Pràctiques]]\nEtiquetes\nActivitats\n[[Els aliments]]\n[[Linux Vs WXP]]\n[[Personalitzant el menú (III)]]\n[[Els fils RSS]]\n[[Els RSS]]\n[[Actualitzar TW des de la versió 2.0.8 a la 2.0.11 (II)]]\n[[Etiquetes especials]]\n[[Personalitzant el menú (II)]]\n[[Personalitzant el menú]]\n[[Actualitzar TW des de la versió 2.0.8 a la 2.0.11]]\nBenvinguts!\n\n
TiddlyWiki en català:\n\nhttp://www.xtec.cat/~friviere/TiddlyWiki.html\n\nLloc web original de TiddlyWiki (en anglés):\n\nhttp://www.tiddlywiki.com/
El diccionari desordenat
<script> \n window.showTopButton=function(show) {\n // remove existing "top" button (if any)\n var e=document.getElementById("scrollToTopButton"); if (e) e.parentNode.removeChild(e);\n if (config.browser.isIE) return; // IE doesn't do FIXED... do nothing.\n if (!show) return; // hiding button... we're done.\n // create a link that scrolls to the top of page\n e=createTiddlyElement(null,"A",null,null,"top");\n e.id="scrollToTopButton";\n e.title="scroll to top of page";\n e.onclick=function(){window.scrollTo(0,0)};\n // make it hover in the bottom right corner of the window\n var s=e.style;\n s.position="fixed";\n s.zIndex="1001"; // hopefully, this will be on top of ALL other elements!\n s.bottom=".5em";\n s.right=".5em";\n s.cursor="pointer";\n s.backgroundColor="#eee";\n s.color="#009";\n s.border="1px solid";\n s.padding="0 1em";\n s.MozBorderRadius="1em";\n s.fontSize="7pt";\n document.body.insertBefore(e,null);\n }\n if (config.options.chkShowTopButton==undefined) config.options.chkShowTopButton=true;\n window.showTopButton(config.options.chkShowTopButton);\n</script><<option chkShowTopButton>><script>\n place.lastChild.onchange=function() {\n window.showTopButton(this.checked);\n config.options.chkShowTopButton=this.checked;\n saveOptionCookie("chkShowTopButton");\n };\n</script> show 'top' button
El fil RSS de [[Menéame|http://meneame.net/]] em porta la següent notícia. Potser és una mica vella, però la trobo genial... \n\nPotser m'ho baixo... i em faig un cartell!\n\nLa fascinación del autor por los sistemas de escritura le llevó a intentar crear un poster con todos los caracteres Unicode en todas las lenguas. Esperaba que todo cabría en un poster de 1×1 metros, pero la realidad es que la imagen final es de 1,8×3,6 metros, 22.017×42.807 pixels. El documento puede [[verse online usando un interfaz en Flash (el enlace meneado)|http://ian-albert.com/misc/zoom-unicode.php]] o [[descargarse en un gráfico .TIFF (¡¡ojo, son más de 100 MB !!)|http://ian-albert.com/misc/download-unichart1.php]]
''Adaptació del Selector de Temes de [[SimonBaird i SaqImtiaz|http://lewcid.googlepages.com/lewcid.html#SelectThemePlugin]]''\n* ''Instal·lació'': Per fer-lo servir al vostre TiddlyWiki, cal copiar [[aquest tiddler|SelectThemePlugin]], i alguns temes, com ara aquest [[paquet de temes|BigThemePack]] i etiquetar-los amb systemConfig.\n* ''Botó'':Cal afegir el botó <<themeSelect style 'tema'>> a i SideBarOptions, (o on tú vulguis, copiant aquest codi:\n/***\n{{{<<themeSelect style 'tema'>>}}}\n***/\n''Ús'': Tria el tema amb el botó <<themeSelect style 'tema'>>
veritat [ bæ®itát ] f \npart Nombre quàntic característic del quark i dels hadrons que el contenen.
/***\n|''Name:''|WikiBar|\n|''Version:''|2.0.0 beta3|\n|''Source:''|[[AiddlyWiki|http://aiddlywiki.sourceforge.net]]|\n|''Author:''|[[Arphen Lin|mailto:arphenlin@gmail.com]]|\n|''Type:''|toolbar macro command extension|\n|''Required:''|TiddlyWiki 2.0.0 beta6|\n!Description\nWikiBar is a toolbar that gives access to most of TiddlyWiki's formatting features with a few clicks. It's a handy tool for people who are not familiar with TiddlyWiki syntax.\nBesides, with WikiBar-addons, users can extend the power of WikiBar.\n!Support browser\n*Firefox 1.5\n!Revision history\n*v2.0.0 beta3 (2005/12/30)\n** remove macros (replaced by TWMacro addon)\n** add wikibar command in toolbar automatically\n** rename DOIT to HANDLER\n** rename TIP to TOOLTIP\n*v2.0.0 beta2 (2005/12/21)\n** re-design Wikibar addon framework\n*v2.0.0 beta1 (2005/12/14)\n** Note:\n*** WikiBarPlugin is renamed to WikiBar\n** New Features:\n*** support TiddlyWiki 2.0.0 template mechanism\n*** new wikibar data structure\n*** new wikibar-addon framework for developers\n**** support dynamic popup menu generator\n*** support most new macros added in TiddlyWiki 2.0.0\n*** multi-level popup menu\n*** fix wikibar tab stop\n*** remove paletteSelector\n** Known Bugs:\n*** popup-menu and color-picker can't be closed correctly\n*** some macros can't be displayed correctly in previewer\n*** text in previewer will be displayed italic\n*v1.2.0 (2005/11/21)\n**New Features:\n***User defined color palettes supported\n####Get color palettes from [[ColorZilla Palettes|http://www.iosart.com/firefox/colorzilla/palettes.html]].\n####Save the palette file(*.gpl) as a new tiddler and tag it with 'ColorPalettes', then you can use it in WikiBar.\n***WikiBar style sheet supported\n***Click on document to close current colorPicker, paletteSelector or aboutWikibar\n*v1.1.1 (2005/11/03)\n**Bugs fixed:\n***'Not enough parameters!' message is displayed when the parameter includes '%+number', ex: 'hello%20world!'\n*v1.1.0 (2005/11/01)\n**Bugs fixed:\n***WikiBar overruns (reported by by GeoffS <gslocock@yahoo.co.uk>)\n**New features:\n***Insert a color code at the cursor. (Thanks to RunningUtes <RunningUtes@gmail.com>)\n***Enable gradient macro. (Thanks to RunningUtes <RunningUtes@gmail.com>)\n***Insert tiddler comment tags {{{/% ... %/}}}. (new feature supported by TiddlyWiki 1.2.37)\n***Insert DateFormatString for {{{<<today>>}}} macro. (new feature supported by TiddlyWiki 1.2.37)\n**Enhanced:\n***Allow optional parameters in syntax.\n**Bugs:\n***'Not enough parameters!' message is displayed when the parameter includes '%+number', ex: 'hello%20world!'\n*v1.0.0 (2005/10/30)\n**Initial release\n!Code\n***/\n//{{{\nconfig.macros.wikibar = {major: 2, minor: 0, revision: 0, beta: 3, date: new Date(2005,12,30)};\nconfig.macros.wikibar.handler = function(place,macroName,params,wikifier,paramString,tiddler){\n if(!(tiddler instanceof Tiddler)) {return;}\n story.setDirty(tiddler.title,true);\n place.id = 'wikibar'+tiddler.title;\n place.className = 'toolbar wikibar';\n};\nfunction wikibar_install(){\n config.commands.wikibar = {\n text: 'wikibar',\n tooltip: 'wikibar on/off',\n handler: function(e,src,title) {\n if(!e){ e = window.event; }\n var theButton = resolveTarget(e);\n theButton.id = 'wikibarButton'+title;\n wikibarPopup.remove();\n wikibar_installAddons(theButton, title);\n wikibar_createWikibar(title);\n return(false);\n }\n };\n config.shadowTiddlers['EditTemplate'] = wikibar_addWikibarCommand(config.shadowTiddlers['EditTemplate']);\n var tiddler = store.getTiddler('EditTemplate');\n if(tiddler){\n tiddler.text = wikibar_addWikibarCommand(tiddler.text);\n }\n}\nfunction wikibar_installAddons(theButton, title){\n var tiddlers = store.getTaggedTiddlers('wikibarAddons');\n if(!tiddlers) { return; }\n theButton.addons=[];\n for(var i=0; i<tiddlers.length; i++){\n try{\n eval(tiddlers[i].text);\n try{\n wikibar_addonInstall(title);\n wikibar_addonInstall = null;\n theButton.addons.push({ok:true, name:tiddlers[i].title});\n }catch(ex){\n theButton.addons.push({ok:false, name:tiddlers[i].title, error:ex});\n }\n }catch(ex){\n theButton.addons.push({ok:false, name:tiddlers[i].title, error:ex});\n }\n }\n}\nfunction wikibar_addWikibarCommand(tiddlerText){\n var div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = tiddlerText;\n for(var i=0; i<div.childNodes.length; i++){\n var o=div.childNodes[i];\n if(o.tagName==='DIV'){\n if(o.className=='toolbar'){\n var macroText = o.getAttribute('macro').trim();\n if(macroText.search('wikibar')<=0){\n macroText += ' wikibar';\n o.setAttribute('macro', macroText);\n }\n break;\n }\n }\n }\n return div.innerHTML.replace(/\s"/g, "\s'");\n}\nfunction wikibar_processSyntaxParams(theSyntax, params){\n try{\n var pcr = 'AplWikibarPcr';\n var rx=null;\n var allParams=null;\n if(params){\n if(typeof(params)=='object'){\n for(var i=0; i<params.length; i++){\n if(params[i]){\n params[i] = params[i].replace(new RegExp('%','g'), pcr).trim();\n rx = '(\s\s[%'+(i+1)+'\s\s])' + '|' + '(%'+(i+1)+')';\n theSyntax = theSyntax.replace(new RegExp(rx,'g'), params[i] );\n }\n }\n allParams = params.join(' ').trim();\n }else{\n allParams = params.replace(new RegExp('%','g'), pcr).trim();\n rx = /(\s[%1{1}\s])|(%1{1})/g;\n theSyntax = theSyntax.replace(rx, allParams);\n }\n }\n if(allParams){\n theSyntax = theSyntax.replace(new RegExp('%N{1}','g'), allParams);\n }\n rx=/\s[%(([1-9]{1,}[0-9]{0,})|(N{1}))\s]/g;\n theSyntax = theSyntax.replace(rx, '');\n rx=/%(([1-9]{1,}[0-9]{0,})|(N{1}))/g;\n if( theSyntax.match(rx) ){\n throw 'Not enough parameters! ' + theSyntax;\n }\n theSyntax=theSyntax.replace(new RegExp(pcr,'g'), '%');\n return theSyntax;\n } catch(ex){\n return null;\n }\n}\nfunction wikibar_resolveEditItem(tiddlerWrapper, itemName){\n if(tiddlerWrapper.hasChildNodes()){\n var c=tiddlerWrapper.childNodes;\n for(var i=0; i<c.length; i++){\n var txt=wikibar_resolveEditItem(c[i], itemName);\n if(!txt){\n continue;\n }else{\n return txt;\n }\n }\n }\n return ((tiddlerWrapper.getAttribute && tiddlerWrapper.getAttribute('edit')==itemName)? tiddlerWrapper : null);\n}\nfunction wikibar_resolveEditItemValue(tiddlerWrapper, itemName){\n var o = wikibar_resolveEditItem(tiddlerWrapper, itemName);\n return (o? o.value.replace(/\sr/mg,'') : null);\n}\nfunction wikibar_resolveTiddlerEditorWrapper(obj){\n if(obj.id=='tiddlerDisplay'){return null;}\n if((obj.getAttribute && obj.getAttribute('macro')=='edit text')){return obj;}\n return wikibar_resolveTiddlerEditorWrapper(obj.parentNode);\n}\nfunction wikibar_resolveTiddlerEditor(obj){\n if(obj.hasChildNodes()){\n var c = obj.childNodes;\n for(var i=0; i<c.length; i++){\n var o=wikibar_resolveTiddlerEditor(c[i]);\n if(o){ return o;}\n }\n }\n return ((obj.getAttribute && obj.getAttribute('edit')=='text')? obj : null);\n}\nfunction wikibar_resolveTargetButton(obj){\n if(obj.id && obj.id.substring(0,7)=='wikibar'){ return null; }\n if(obj.tiddlerTitle){\n return obj;\n }else{\n return wikibar_resolveTargetButton(obj.parentNode);\n }\n}\nfunction wikibar_isValidMenuItem(tool){\n if(!tool){ return false; }\n if(tool.TYPE=='MENU' || tool.TYPE=='MAIN_MENU'){\n for(var key in tool){\n if(key.substring(0,8)=='DYNAITEM'){ return true; }\n if(wikibar_isValidMenuItem(tool[key])){ return true; }\n }\n return false;\n }else{\n return (tool.HANDLER? true : false);\n }\n}\nfunction wikibar_editFormat(param){\n var editor = param.button.editor;\n var params = param.params;\n clearMessage();\n if(!editor){ return; }\n var repText = wikibar_processSyntaxParams(this.syntax, params);\n if(repText===null){ return; }\n var st = editor.scrollTop;\n var ss = editor.selectionStart;\n var se = editor.selectionEnd;\n var frontText= '';\n var endText = '';\n var fullText = editor.value;\n if(se>ss && ss>=0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n }\n else if(ss===0 && (se===0 || se == fullText.length) ){\n endText = fullText;\n }\n else if(se==ss && ss>0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n }\n if(repText.indexOf('user_text')>=0 && this.hint){\n repText = repText.replace('user_text', this.hint);\n }\n editor.value = frontText + repText + endText;\n editor.selectionStart = ss;\n editor.selectionEnd = ss + repText.length;\n editor.scrollTop = st;\n editor.focus();\n}\nfunction wikibar_editFormatByWord(param){\n var editor = param.button.editor;\n var params = param.params;\n clearMessage();\n if(!editor){return;}\n var repText = wikibar_processSyntaxParams(this.syntax, params);\n if(repText===null){ return; }\n var st = editor.scrollTop;\n var ss = editor.selectionStart;\n var se = editor.selectionEnd;\n var frontText= '';\n var selText = '';\n var endText = '';\n var fullText = editor.value;\n if(se>ss && ss>=0){\n frontText = fullText.substring(0, ss);\n selText = fullText.substring(ss,se);\n endText = fullText.substring(se, fullText.length);\n }\n else if(ss===0 && (se===0 || se == fullText.length) ){\n endText = fullText;\n }\n else if(se==ss && ss>0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n if(!( fullText.charAt(ss-1).match(/\sW/gi) || fullText.charAt(ss).match(/\sW/gi) )){\n var m = frontText.match(/\sW/gi);\n if(m){\n ss = frontText.lastIndexOf(m[m.length-1])+1;\n }\n else{\n ss = 0;\n }\n m = endText.match(/\sW/gi);\n if(m){\n se += endText.indexOf(m[0]);\n }\n else{\n se = fullText.length;\n }\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n selText = fullText.substring(ss,se);\n }\n }\n if(selText.length>0){\n repText = repText.replace('user_text', selText);\n }\n if(repText.indexOf('user_text')>=0 && this.hint){\n repText = repText.replace('user_text', this.hint);\n }\n editor.value = frontText + repText + endText;\n editor.selectionStart = ss;\n editor.selectionEnd = ss + repText.length;\n editor.scrollTop = st;\n editor.focus();\n}\nfunction wikibar_editFormatByCursor(param){\n var editor = param.button.editor;\n var params = param.params;\n clearMessage();\n if(!editor){ return; }\n var repText = wikibar_processSyntaxParams(this.syntax, params);\n if(repText===null){ return; }\n var st = editor.scrollTop;\n var ss = editor.selectionStart;\n var se = editor.selectionEnd;\n var frontText= '';\n var endText = '';\n var fullText = editor.value;\n if(se>ss && ss>=0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n }\n else if(ss===0 && (se===0 || se == fullText.length) ){\n endText = fullText;\n }\n else if(se==ss && ss>0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n }\n if(repText.indexOf('user_text')>=0 && this.hint){\n repText = repText.replace('user_text', this.hint);\n }\n editor.value = frontText + repText + endText;\n editor.selectionStart = ss;\n editor.selectionEnd = ss + repText.length;\n editor.scrollTop = st;\n editor.focus();\n}\nfunction wikibar_editFormatByLine(param){\n var editor = param.button.editor;\n var params = param.params;\n clearMessage();\n if(!editor){ return; }\n var repText = wikibar_processSyntaxParams(this.syntax, params);\n if(repText===null){ return; }\n var st = editor.scrollTop;\n var ss = editor.selectionStart;\n var se = editor.selectionEnd;\n var frontText= '';\n var selText = '';\n var endText = '';\n var fullText = editor.value;\n if(se>ss && ss>=0){\n if(this.byBlock){\n frontText = fullText.substring(0, ss);\n selText = fullText.substring(ss,se);\n endText = fullText.substring(se, fullText.length);\n }\n else{\n se = ss;\n }\n }\n if(ss===0 && (se===0 || se == fullText.length) ){\n var m=fullText.match(/(\sn|\sr)/g);\n if(m){\n se = fullText.indexOf(m[0]);\n }else{\n se = fullText.length;\n }\n selText = fullText.substring(0, se);\n endText = fullText.substring(se, fullText.length);\n }\n else if(se==ss && ss>0){\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n m = frontText.match(/(\sn|\sr)/g);\n if(m){\n ss = frontText.lastIndexOf(m[m.length-1])+1;\n }\n else{\n ss = 0;\n }\n m = endText.match(/(\sn|\sr)/g);\n if(m){\n se += endText.indexOf(m[0]);\n }\n else{\n se = fullText.length;\n }\n frontText = fullText.substring(0, ss);\n selText = fullText.substring(ss,se);\n endText = fullText.substring(se, fullText.length);\n }\n if(selText.length>0){\n repText = repText.replace('user_text', selText);\n }\n if(repText.indexOf('user_text')>=0 && this.hint){\n repText = repText.replace('user_text', this.hint);\n }\n if(this.byBlock){\n if( (frontText.charAt(frontText.length-1)!='\sn') && ss>0 ){\n repText = '\sn' + repText;\n }\n if( (endText.charAt(0)!='\sn') || se==fullText.length){\n repText += '\sn';\n }\n }\n editor.value = frontText + repText + endText;\n editor.selectionStart = ss;\n editor.selectionEnd = ss + repText.length;\n editor.scrollTop = st;\n editor.focus();\n}\nfunction wikibar_editFormatByTableCell(param){\n var editor = param.button.editor;\n var params = param.params;\n clearMessage();\n if(!editor){ return; }\n var repText = wikibar_processSyntaxParams(this.syntax, params);\n if(repText===null){ return; }\n var st = editor.scrollTop;\n var ss = editor.selectionStart;\n var se = editor.selectionEnd;\n var frontText= '';\n var selText = '';\n var endText = '';\n var fullText = editor.value;\n if(ss===0 || ss==fullText.length){\n throw 'not valid cell!';\n }\n se=ss;\n frontText = fullText.substring(0, ss);\n endText = fullText.substring(se, fullText.length);\n i=frontText.lastIndexOf('\sn');\n j=frontText.lastIndexOf('|');\n if(i>j || j<0){\n throw 'not valid cell!';\n }\n ss = j+1;\n i=endText.indexOf('\sn');\n j=endText.indexOf('|');\n if(i<j || j<0){\n throw 'not valid cell!';\n }\n se += j;\n frontText = fullText.substring(0, ss-1);\n selText = fullText.substring(ss,se);\n endText = fullText.substring(se+1, fullText.length);\n if(this.key.substring(0,5)=='align'){\n selText = selText.trim();\n if( selText=='>' || selText=='~' || selText.substring(0,8)=='bgcolor(') {return; }\n }\n if(selText.length>0){\n repText = repText.replace('user_text', selText);\n }\n if(repText.indexOf('user_text')>=0 && this.hint){\n repText = repText.replace('user_text', this.hint);\n }\n editor.value = frontText + repText + endText;\n editor.selectionStart = ss;\n editor.selectionEnd = ss + repText.length - 2;\n editor.scrollTop = st;\n editor.focus();\n}\nfunction wikibar_editSelectAll(param){\n var editor = param.button.editor;\n editor.selectionStart = 0;\n editor.selectionEnd = editor.value.length;\n editor.scrollTop = 0;\n editor.focus();\n}\nfunction wikibar_doPreview(param){\n var theButton = param.button;\n var editor = param.button.editor;\n var wikibar = theButton.parentNode;\n if(!wikibar) { return; }\n title = theButton.tiddlerTitle;\n var editorWrapper = wikibar_resolveTiddlerEditorWrapper(editor);\n var tiddlerWrapper = editorWrapper.parentNode;\n var previewer = document.getElementById('previewer'+title);\n if(previewer){\n previewer.parentNode.removeChild(previewer);\n editorWrapper.style.display = 'block';\n visible=true;\n }else{\n previewer = document.createElement('div');\n previewer.id = 'previewer'+title;\n previewer.className = 'viewer previewer';\n previewer.style.height = (editor.offsetHeight) + 'px';\n wikify(editor.value, previewer);\n tiddlerWrapper.insertBefore(previewer, editorWrapper);\n editorWrapper.style.display = 'none';\n visible=false;\n }\n var pv=null;\n for(var i=0; i<wikibar.childNodes.length; i++){\n try{\n var btn = wikibar.childNodes[i];\n if(btn.toolItem.key == 'preview'){ pv=btn; }\n if(btn.toolItem.key != 'preview'){\n btn.style.display = visible ? '': 'none';\n }\n }catch(ex){}\n }\n if(!pv) { return; }\n if(visible){\n pv.innerHTML = '<font face=\s"verdana\s">∞</font>';\n pv.title = 'preview current tiddler';\n }\n else{\n pv.innerHTML = '<font face=\s"verdana\s">←</font>';\n pv.title = 'back to editor';\n }\n}\nfunction wikibar_doListAddons(param){\n clearMessage();\n var title = param.button.tiddlerTitle;\n var wikibarButton = document.getElementById('wikibarButton'+title);\n var ok=0, fail=0;\n for(var i=0; i<wikibarButton.addons.length; i++){\n var addon=wikibarButton.addons[i];\n if(addon.ok){\n displayMessage('[ o ] '+addon.name);\n ok++;\n }\n else{\n displayMessage('[ x ] '+addon.name + ': ' + addon.error);\n fail++;\n }\n }\n displayMessage('---------------------------------');\n displayMessage(ok + ' ok ; ' + fail + ' failed');\n}\nfunction wikibar_getColorCode(param){\n var cbOnPickColor = function(colorCode, param){\n param.params = colorCode;\n param.button.toolItem.doMore(param);\n };\n wikibarColorTool.openColorPicker(param.button, cbOnPickColor, param);\n}\nfunction wikibar_getLinkUrl(param){\n var url= prompt('Please enter the link target', (this.param? this.param : ''));\n if (url && url.trim().length>0){\n param.params = url;\n this.doMore(param);\n }\n}\nfunction wikibar_getTableRowCol(param){\n var rc= prompt('Please enter (rows x cols) of the table', '2 x 3');\n if (!rc || (rc.trim()).length<=0){ return; }\n var arr = rc.toUpperCase().split('X');\n if(arr.length != 2) { return; }\n for(var i=0; i<arr.length; i++){\n if(isNaN(arr[i].trim())) { return; }\n }\n var rows = parseInt(arr[0].trim(), 10);\n var cols = parseInt(arr[1].trim(), 10);\n var txtTable='';\n for(var r=0; r<rows; r++){\n for(var c=0; c<=cols; c++){\n if(c===0){\n txtTable += '|';\n }else{\n txtTable += ' |';\n }\n }\n txtTable += '\sn';\n }\n if(txtTable.trim().length>0){\n param.params = txtTable.trim();\n this.doMore(param);\n }\n}\nfunction wikibar_getMacroParam(param){\n var p = prompt('Please enter the parameters of macro \s"' + this.key + '\s":' +\n '\snSyntax: ' + this.syntax +\n '\sn\snNote: '+\n '\sn%1,%2,... - parameter needed'+\n '\sn[%1] - optional parameter'+\n '\sn%N - more than one parameter(1~n)'+\n '\sn[%N] - any number of parameters(0~n)'+\n '\sn\snPS:'+\n '\sn1. Parameters should be seperated with space character'+\n '\sn2. Use \s" to wrap the parameter that includes space character, ex: \s"hello world\s"'+\n '\sn3. Input the word(null) for the optional parameter ignored',\n (this.param? this.param : '') );\n if(!p) { return; }\n p=p.readMacroParams();\n for(var i=0; i<p.length; i++){\n var s=p[i].trim();\n if(s.indexOf(' ')>0){ p[i]="'"+s+"'"; }\n if(s.toLowerCase()=='null'){ p[i]=null; }\n }\n param.params = p;\n this.doMore(param);\n}\nfunction wikibar_getMorePalette(unused){\n clearMessage();\n displayMessage('Get more color palettes(*.gpl) from ColorZilla Palettes site', 'http:\s/\s/www.iosart.com/firefox/colorzilla/palettes.html');\n displayMessage('Save it as a new tiddler with \s"ColorPalettes\s" tag');\n}\nfunction wikibar_createWikibar(title){\n var theWikibar = document.getElementById('wikibar' + title);\n if(theWikibar){\n if(theWikibar.hasChildNodes()){\n theWikibar.style.display = (theWikibar.style.display=='block'? 'none':'block');\n return;\n }\n }\n var tiddlerWrapper = document.getElementById('tiddler'+title);\n var theTextarea = wikibar_resolveTiddlerEditor(tiddlerWrapper);\n if(!theTextarea){\n clearMessage();\n displayMessage('WikiBar only works in tiddler edit mode now');\n return;\n }else{\n if(!theTextarea.id){ theTextarea.id = 'editor'+title; }\n if(!theTextarea.parentNode.id){ theTextarea.parentNode.id='editorWrapper'+title; }\n }\n if(theWikibar){\n theWikibar = document.getElementById('wikibar'+title);\n }else{\n var editorWrapper = wikibar_resolveTiddlerEditorWrapper(theTextarea);\n theWikibar = createTiddlyElement(tiddlerWrapper, 'div', 'wikibar'+title, 'toolbar');\n addClass(theWikibar, 'wikibar');\n var previewer = document.getElementById('previewer'+title);\n if(previewer){\n tiddlerWrapper.insertBefore(theWikibar, previewer);\n }else{\n tiddlerWrapper.insertBefore(theWikibar, editorWrapper);\n }\n }\n wikibar_createMenu(theWikibar,wikibarStore,title,theTextarea);\n if(config.options['chkWikibarSetEditorHeight'] && config.options['txtWikibarEditorRows']){\n theTextarea.rows = config.options['txtWikibarEditorRows'];\n }\n setStylesheet(\n '.wikibar{text-align:left;visibility:visible;margin:2px;padding:1px;}.previewer{overflow:auto;display:block;border:1px solid;}#colorPicker{position:absolute;display:none;z-index:10;margin:0px;padding:0px;}#colorPicker table{margin:0px;padding:0px;border:2px solid #000;border-spacing:0px;border-collapse:collapse;}#colorPicker td{margin:0px;padding:0px;border:1px solid;font-size:11px;text-align:center;cursor:auto;}#colorPicker .header{background-color:#fff;}#colorPicker .button{background-color:#fff;cursor:pointer;cursor:hand;}#colorPicker .button:hover{padding-top:3px;padding-bottom:3px;color:#fff;background-color:#136;}#colorPicker .cell{padding:4px;font-size:7px;cursor:crosshair;}#colorPicker .cell:hover{padding:10px;}.wikibarPopup{position:absolute;z-index:10;border:1px solid #014;color:#014;background-color:#cef;}.wikibarPopup table{margin:0;padding:0;border:0;border-spacing:0;border-collapse:collapse;}.wikibarPopup .button:hover{color:#eee;background-color:#014;}.wikibarPopup .disabled{color:#888;}.wikibarPopup .disabled:hover{color:#888;background-color:#cef;}.wikibarPopup tr .seperator hr{margin:0;padding:0;background-color:#cef;width:100%;border:0;border-top:1px dashed #014;}.wikibarPopup tr .icon{font-family:verdana;font-weight:bolder;}.wikibarPopup tr .marker{font-family:verdana;font-weight:bolder;}.wikibarPopup td{font-size:0.9em;padding:2px;}.wikibarPopup input{border:0;border-bottom:1px solid #014;margin:0;padding:0;font-family:arial;font-size:100%;background-color:#fff;}',\n 'WikiBarStyleSheet');\n}\nfunction wikibar_createMenu(place,toolset,title,editor){\n if(!wikibar_isValidMenuItem(toolset)){return;}\n if(!(toolset.TYPE=='MAIN_MENU' || toolset.TYPE=='MENU')){ return; }\n for(var key in toolset){\n if(key.substring(0,9)=='SEPERATOR'){\n wikibar_createMenuSeperator(place);\n continue;\n }\n if(key.substring(0,8)=='DYNAITEM'){\n var dynaTools = toolset[key](title,editor);\n if(dynaTools.TYPE && dynaTools.TYPE=='MENU'){\n wikibar_createMenuItem(place,dynaTools,null,editor,title);\n }else{\n dynaTools.TYPE = 'MENU';\n wikibar_createMenu(place, dynaTools, title, editor);\n }\n continue;\n }\n if((toolset[key].TYPE!='MENU' && toolset[key].TYPE!='MAIN_MENU') && !toolset[key].HANDLER){continue;}\n wikibar_createMenuItem(place,toolset,key,editor,title);\n }\n}\nfunction wikibar_createMenuItem(place,toolset,key,editor,title){\n if(!key){\n var tool = toolset;\n }else{\n tool = toolset[key];\n tool.key = key;\n }\n if(!wikibar_isValidMenuItem(tool)){return;}\n var toolIsOnMainMenu = (toolset.TYPE=='MAIN_MENU');\n var toolIsMenu = (tool.TYPE=='MENU');\n var theButton;\n if(toolIsOnMainMenu){\n theButton = createTiddlyButton(\n place,\n '',\n (tool.TOOLTIP? tool.TOOLTIP : ''),\n (toolIsMenu? wikibar_onClickMenuItem : wikibar_onClickItem),\n 'button');\n theButton.innerHTML = (tool.CAPTION? tool.CAPTION : key);\n theButton.isOnMainMenu = true;\n addClass(theButton, (toolIsMenu? 'menu' : 'item'));\n place.appendChild( document.createTextNode('\sn') );\n if(!toolIsMenu){\n if(config.options['chkWikibarPopmenuOnMouseOver']){\n theButton.onmouseover = function(e){ wikibarPopup.remove(); };\n }\n }\n }else{\n theButton=createTiddlyElement(place, 'tr',key,'button');\n theButton.title = (tool.TOOLTIP? tool.TOOLTIP : '');\n theButton.onclick = (toolIsMenu? wikibar_onClickMenuItem : wikibar_onClickItem);\n var tdL = createTiddlyElement(theButton, 'td','','marker');\n var td = createTiddlyElement(theButton, 'td');\n var tdR = createTiddlyElement(theButton, 'td','','marker');\n td.innerHTML = (tool.CAPTION? tool.CAPTION : key);\n if(toolIsMenu){\n tdR.innerHTML=' ›';\n }\n if(tool.SELECTED){\n tdL.innerHTML = '√ ';\n addClass(theButton, 'selected');\n }\n if(tool.DISABLED){\n addClass(theButton, 'disabled');\n }\n }\n theButton.tiddlerTitle = title;\n theButton.toolItem = tool;\n theButton.editor = editor;\n theButton.tabIndex = 999;\n if(toolIsMenu){\n if(config.options['chkWikibarPopmenuOnMouseOver']){\n theButton.onmouseover = wikibar_onClickMenuItem;\n }\n }\n}\nfunction wikibar_createMenuSeperator(place){\n if(place.id.substring(0,7)=='wikibar') { return; }\n var onclickSeperator=function(e){\n if(!e){ e = window.event; }\n e.cancelBubble = true;\n if (e.stopPropagation){ e.stopPropagation(); }\n return(false);\n };\n var theButton=createTiddlyElement(place,'tr','','seperator');\n var td = createTiddlyElement(theButton, 'td','','seperator');\n td.colSpan=3;\n theButton.onclick=onclickSeperator;\n td.innerHTML = '<hr>';\n}\nfunction wikibar_genWikibarAbout(){\n var toolset={};\n toolset.version = {\n CAPTION: '<center>WikiBar ' +\n config.macros.wikibar.major + '.' +\n config.macros.wikibar.minor + '.' +\n config.macros.wikibar.revision +\n (config.macros.wikibar.beta? ' beta '+config.macros.wikibar.beta : '') +\n '</center>',\n HANDLER: function(){}\n };\n toolset.SEPERATOR = {};\n toolset.author = {\n CAPTION: '<center>Arphen Lin<br>arphenlin@gmail.com</center>',\n TOOLTIP: 'send mail to the author',\n HANDLER: function(){ window.open('mailto:arphenlin@gmail.com'); }\n };\n toolset.website = {\n CAPTION: '<center>aiddlywiki.sourceforge.net</center>',\n TOOLTIP: 'go to the web site of WikiBar',\n HANDLER: function(){ window.open('http:\s/\s/aiddlywiki.sourceforge.net/'); }\n };\n return toolset;\n}\nfunction wikibar_genWikibarOptions(title, editor){\n var toolset={};\n toolset.popOnMouseOver = {\n CAPTION:'popup menu on mouse over',\n SELECTED: config.options['chkWikibarPopmenuOnMouseOver'],\n HANDLER: function(param){\n config.options['chkWikibarPopmenuOnMouseOver'] = !config.options['chkWikibarPopmenuOnMouseOver'];\n saveOptionCookie('chkWikibarPopmenuOnMouseOver');\n var title = param.button.tiddlerTitle;\n var wikibar = document.getElementById('wikibar'+title);\n if(wikibar){ wikibar.parentNode.removeChild(wikibar); }\n wikibar_createWikibar(title);\n }\n };\n toolset.setEditorSize = {\n CAPTION:'set editor height: <input id=\s"txtWikibarEditorRows\s" type=text size=1 MAXLENGTH=3 value=\s"' +\n (config.options['txtWikibarEditorRows']? config.options['txtWikibarEditorRows']:editor.rows) + '\s"> ok',\n HANDLER: function(param){\n var input = document.getElementById('txtWikibarEditorRows');\n if(input){\n var rows = parseInt(input.value, 10);\n if(!isNaN(rows)){\n var editor = param.button.editor;\n editor.rows = rows;\n }else{\n rows=config.maxEditRows;\n }\n config.options['txtWikibarEditorRows'] = rows;\n saveOptionCookie('txtWikibarEditorRows');\n config.maxEditRows = rows;\n }\n }\n };\n toolset.setEditorSizeOnLoadingWikibar = {\n CAPTION:'set editor height on loading wikibar',\n SELECTED: config.options['chkWikibarSetEditorHeight'],\n HANDLER: function(param){\n config.options['chkWikibarSetEditorHeight'] = !config.options['chkWikibarSetEditorHeight'];\n saveOptionCookie('chkWikibarSetEditorHeight');\n if(config.options['chkWikibarSetEditorHeight']){\n var rows = config.options['txtWikibarEditorRows'];\n if(!isNaN(rows)){ rows = 15; }\n var editor = param.button.editor;\n editor.rows = rows;\n config.options['txtWikibarEditorRows'] = rows;\n saveOptionCookie('txtWikibarEditorRows');\n }\n }\n };\n toolset.SEPERATOR = {};\n toolset.update = {\n CAPTION: 'check for updates',\n DISABLED: true,\n HANDLER: function(){}\n };\n return toolset;\n}\nfunction wikibar_genPaletteSelector(){\n try{\n var cpTiddlers = store.getTaggedTiddlers('ColorPalettes');\n if(!cpTiddlers) { return; }\n var palettes=[];\n palettes.push(wikibarColorTool.defaultPaletteName);\n for(var i=0; i<cpTiddlers.length; i++){\n palettes.push(cpTiddlers[i].title.trim());\n }\n var toolset={};\n for(i=0; i<palettes.length; i++){\n toolset[palettes[i]] = {\n TOOLTIP: palettes[i],\n SELECTED: (palettes[i]==wikibarColorTool.paletteName),\n HANDLER: wikibar_doSelectPalette\n };\n }\n return toolset;\n }catch(ex){ return null; }\n}\nfunction wikibar_onClickItem(e){\n if(!e){ e = window.event; }\n var theTarget = resolveTarget(e);\n if(theTarget.tagName=='INPUT'){\n e.cancelBubble = true;\n if (e.stopPropagation){ e.stopPropagation(); }\n return;\n }\n var theButton = wikibar_resolveTargetButton(theTarget);\n if(!theButton){ return(false); }\n var o = theButton.toolItem;\n if(!o) { return; }\n var param = {\n event: e,\n button: theButton\n };\n if(o.HANDLER){ o.HANDLER(param); }\n if(o.DISABLED){\n e.cancelBubble = true;\n if (e.stopPropagation){ e.stopPropagation(); }\n }\n return(false);\n}\nfunction wikibar_onClickMenuItem(e){\n if(!e){ e = window.event; }\n var theButton = wikibar_resolveTargetButton(resolveTarget(e));\n if(!theButton){ return(false); }\n e.cancelBubble = true;\n if (e.stopPropagation){ e.stopPropagation(); }\n var title = theButton.tiddlerTitle;\n var editor = theButton.editor;\n var tool = theButton.toolItem;\n if(!tool) { return; }\n var popup = wikibarPopup.create(this);\n if(popup){\n wikibar_createMenu(popup,tool,title,editor);\n if(!popup.hasChildNodes()){\n wikibarPopup.remove();\n }else{\n wikibarPopup.show(popup, false);\n }\n }\n return(false);\n}\nvar wikibarColorTool = {\n defaultPaletteName : 'default',\n defaultColumns : 16,\n defaultPalette : [\n '#FFF','#DDD','#CCC','#BBB','#AAA','#999','#666','#333','#111','#000','#FC0','#F90','#F60','#F30','#C30','#C03',\n '#9C0','#9D0','#9E0','#E90','#D90','#C90','#FC3','#FC6','#F96','#F63','#600','#900','#C00','#F00','#F36','#F03',\n '#CF0','#CF3','#330','#660','#990','#CC0','#FF0','#C93','#C63','#300','#933','#C33','#F33','#C36','#F69','#F06',\n '#9F0','#CF6','#9C3','#663','#993','#CC3','#FF3','#960','#930','#633','#C66','#F66','#903','#C39','#F6C','#F09',\n '#6F0','#9F6','#6C3','#690','#996','#CC6','#FF6','#963','#630','#966','#F99','#F39','#C06','#906','#F3C','#F0C',\n '#3F0','#6F3','#390','#6C0','#9F3','#CC9','#FF9','#C96','#C60','#C99','#F9C','#C69','#936','#603','#C09','#303',\n '#0C0','#3C0','#360','#693','#9C6','#CF9','#FFC','#FC9','#F93','#FCC','#C9C','#969','#939','#909','#636','#606',\n '#060','#3C3','#6C6','#0F0','#3F3','#6F6','#9F9','#CFC','#9CF','#FCF','#F9F','#F6F','#F3F','#F0F','#C6C','#C3C',\n '#030','#363','#090','#393','#696','#9C9','#CFF','#39F','#69C','#CCF','#C9F','#96C','#639','#306','#90C','#C0C',\n '#0F3','#0C3','#063','#396','#6C9','#9FC','#9CC','#06C','#369','#99F','#99C','#93F','#60C','#609','#C3F','#C0F',\n '#0F6','#3F6','#093','#0C6','#3F9','#9FF','#699','#036','#039','#66F','#66C','#669','#309','#93C','#C6F','#90F',\n '#0F9','#6F9','#3C6','#096','#6FF','#6CC','#366','#069','#36C','#33F','#33C','#339','#336','#63C','#96F','#60F',\n '#0FC','#6FC','#3C9','#3FF','#3CC','#399','#033','#39C','#69F','#00F','#00C','#009','#006','#003','#63F','#30F',\n '#0C9','#3FC','#0FF','#0CC','#099','#066','#3CF','#6CF','#09C','#36F','#0CF','#09F','#06F','#03F','#03C','#30C'\n ],\n colorPicker : null,\n pickColorHandler: null,\n userData: null\n};\nwikibarColorTool.paletteName = wikibarColorTool.defaultPaletteName;\nwikibarColorTool.columns = wikibarColorTool.defaultColumns;\nwikibarColorTool.palette = wikibarColorTool.defaultPalette;\nwikibarColorTool.onPickColor = function(e){\n if (!e){ e = window.event; }\n var theCell = resolveTarget(e);\n if(!theCell){ return(false); }\n color = theCell.bgColor.toLowerCase();\n if(!color) { return; }\n wikibarColorTool.displayColorPicker(false);\n if(wikibarColorTool.pickColorHandler){\n wikibarColorTool.pickColorHandler(color, wikibarColorTool.userData);\n }\n return(false);\n};\nwikibarColorTool.onMouseOver = function(e){\n if (!e){ e = window.event; }\n var theButton = resolveTarget(e);\n if(!theButton){ return(false); }\n if(!wikibarColorTool) { return; }\n color = theButton.bgColor.toUpperCase();\n if(!color) { return; }\n td=document.getElementById('colorPickerInfo');\n if(!td) { return; }\n td.bgColor = color;\n td.innerHTML = '<span style=\s"color:#000;\s">'+color+'</span> ' +\n '<span style=\s"color:#fff;\s">'+color+'</span>';\n e.cancelBubble = true;\n if (e.stopPropagation){ e.stopPropagation(); }\n return(false);\n};\nwikibarColorTool.openColorPicker = function(theTarget, pickColorHandler, userData){\n wikibarColorTool.skipClickDocumentEvent = true;\n wikibarColorTool.pickColorHandler = pickColorHandler;\n wikibarColorTool.userData = userData;\n wikibarColorTool.moveColorPicker(theTarget);\n};\nwikibarColorTool.convert3to6HexColor = function(c){\n c=c.trim();\n var rx=/^\s#(\sd|[a-f])(\sd|[a-f])(\sd|[a-f])$/gi;\n return (rx.test(c)? c.replace(rx, '#$1$1$2$2$3$3') : c);\n};\nwikibarColorTool.numToHexColor = function (n){\n if(typeof(n)=='number' && (n>=0 && n<=255)) {\n s = n.toString(16).toLowerCase();\n return ((s.length==1)? '0'+s : s);\n }else{\n return null;\n }\n};\nwikibarColorTool.renderColorPalette = function(){\n if(wikibarColorTool.paletteName==wikibarColorTool.defaultPaletteName){\n wikibarColorTool.palette=wikibarColorTool.defaultPalette;\n wikibarColorTool.columns=wikibarColorTool.defaultColumns;\n return;\n }\n tiddlerText = (store.getTiddlerText(wikibarColorTool.paletteName, '')).trim();\n if(tiddlerText.length<=0) { return; }\n var cpContents = tiddlerText.split('\sn');\n var colors=[];\n columns = wikibarColorTool.defaultColumns;\n var tmpArray=null;\n errCount=0;\n for(var i=0; i<cpContents.length; i++){\n cpLine=cpContents[i].trim();\n if( (!cpLine) || (cpLine.length<=0) || (cpLine.charAt(0) == '#') ){ continue; }\n if(cpLine.substring(0,8).toLowerCase()=='columns:'){\n tmpArray = cpLine.split(':');\n try{\n columns = parseInt(tmpArray[1],10);\n }catch(ex){\n columns = wikibarColorTool.defaultColumns;\n }\n }else{\n tmpArray = cpLine.replace('\st', ' ').split(/[ ]{1,}/);\n try{\n color='';\n for(var j=0; j<3; j++){\n c=parseInt(tmpArray[j].trim(), 10);\n if(isNaN(c)){\n break;\n }else{\n c=wikibarColorTool.numToHexColor(c);\n if(!c) {break;}\n color+=c;\n }\n }\n if(color.length==6){\n colors.push('#'+color);\n } else {\n throw 'error';\n }\n }catch(ex){\n }\n }\n }\n if(colors.length>0){\n wikibarColorTool.palette = colors;\n wikibarColorTool.columns = columns;\n }else{\n throw 'renderColorPalette(): No color defined in the palette.';\n }\n};\nwikibarColorTool.displayColorPicker = function(visible){\n if(wikibarColorTool.colorPicker){\n wikibarColorTool.colorPicker.style.display = (visible? 'block' : 'none');\n }\n};\nwikibarColorTool.moveColorPicker = function(theTarget){\n if(!wikibarColorTool.colorPicker){\n wikibarColorTool.createColorPicker();\n }\n var cp = wikibarColorTool.colorPicker;\n var rootLeft = findPosX(theTarget);\n var rootTop = findPosY(theTarget);\n var popupLeft = rootLeft;\n var popupTop = rootTop;\n var popupWidth = cp.offsetWidth;\n var winWidth = findWindowWidth();\n if(popupLeft + popupWidth > winWidth){\n popupLeft = winWidth - popupWidth;\n }\n cp.style.left = popupLeft + 'px';\n cp.style.top = popupTop + 'px';\n wikibarColorTool.displayColorPicker(true);\n};\nwikibarColorTool.createColorPicker = function(unused, palette){\n if(palette){ wikibarColorTool.paletteName=palette; }\n wikibarColorTool.renderColorPalette();\n wikibarColorTool.colorPicker = document.createElement('div');\n wikibarColorTool.colorPicker.id = 'colorPicker';\n document.body.appendChild(wikibarColorTool.colorPicker);\n var theTable = document.createElement('table');\n wikibarColorTool.colorPicker.appendChild(theTable);\n var theTR = document.createElement('tr');\n theTable.appendChild(theTR);\n var theTD = document.createElement('td');\n theTD.className = 'header';\n theTD.colSpan = wikibarColorTool.columns;\n theTD.innerHTML = wikibarColorTool.paletteName;\n theTR.appendChild(theTD);\n for(var i=0; i<wikibarColorTool.palette.length; i++){\n if((i%wikibarColorTool.columns)===0){\n theTR = document.createElement('tr');\n theTable.appendChild(theTR);\n }\n theTD = document.createElement('td');\n theTD.className = 'cell';\n theTD.bgColor = wikibarColorTool.convert3to6HexColor(wikibarColorTool.palette[i]);\n theTD.onclick = wikibarColorTool.onPickColor;\n theTD.onmouseover = wikibarColorTool.onMouseOver;\n theTR.appendChild(theTD);\n }\n rest = wikibarColorTool.palette.length % wikibarColorTool.columns;\n if(rest>0){\n theTD = document.createElement('td');\n theTD.colSpan = wikibarColorTool.columns-rest;\n theTD.bgColor = '#000000';\n theTR.appendChild(theTD);\n }\n theTR = document.createElement('tr');\n theTable.appendChild(theTR);\n theTD = document.createElement('td');\n theTD.colSpan = wikibarColorTool.columns;\n theTD.id = 'colorPickerInfo';\n theTR.appendChild(theTD);\n};\nwikibarColorTool.onDocumentClick = function(e){\n if (!e){ e = window.event; }\n if(wikibarColorTool.skipClickDocumentEvent) {\n wikibarColorTool.skipClickDocumentEvent = false;\n return true;\n }\n if((!e.eventPhase) || e.eventPhase == Event.BUBBLING_PHASE || e.eventPhase == Event.AT_TARGET){\n wikibarColorTool.displayColorPicker(false);\n }\n return true;\n};\nfunction wikibar_doSelectPalette(param){\n clearMessage();\n var theButton = param.button;\n if(!theButton.toolItem.key) { return; }\n var palette = theButton.toolItem.key;\n var oldPaletteName = wikibarColorTool.paletteName;\n if(oldPaletteName != palette){\n try{\n wikibarColorTool.createColorPicker(theButton, palette);\n displayMessage('Palette \s"'+palette+'\s" ('+ wikibarColorTool.palette.length +' colors) is selected');\n }catch(ex){\n errMsg = ex;\n if(errMsg.substring(0,18)=='renderColorPalette'){\n displayMessage('Invalid palette \s"' + palette + '\s", please check it out!');\n wikibarColorTool.createColorPicker(theButton, oldPaletteName);\n }\n }\n }\n}\nvar wikibarPopup = {\n skipClickDocumentEvent: false,\n stack: []\n};\nwikibarPopup.resolveRootPopup = function(o){\n if(o.isOnMainMenu){ return null; }\n if(o.className.substring(0,12)=='wikibarPopup'){ return o;}\n return wikibarPopup.resolveRootPopup(o.parentNode);\n};\nwikibarPopup.create = function(root){\n for(var i=0; i<wikibarPopup.stack.length; i++){\n var p=wikibarPopup.stack[i];\n if(p.root==root){\n wikibarPopup.removeFrom(i+1);\n return null;\n }\n }\n var rootPopup = wikibarPopup.resolveRootPopup(root);\n if(!rootPopup){\n wikibarPopup.remove();\n }else{\n wikibarPopup.removeFromRootPopup(rootPopup);\n }\n var popup = createTiddlyElement(document.body,'div','wikibarPopup'+root.toolItem.key,'wikibarPopup');\n var pop = createTiddlyElement(popup,'table','','');\n wikibarPopup.stack.push({rootPopup: rootPopup, root: root, popup: popup});\n return pop;\n};\nwikibarPopup.show = function(unused,slowly){\n var curr = wikibarPopup.stack[wikibarPopup.stack.length-1];\n var overlayWidth = 1;\n var rootLeft, rootTop, rootWidth, rootHeight, popupLeft, popupTop, popupWidth;\n if(curr.rootPopup){\n rootLeft = findPosX(curr.rootPopup);\n rootTop = findPosY(curr.root);\n rootWidth = curr.rootPopup.offsetWidth;\n popupLeft = rootLeft + rootWidth - overlayWidth;\n popupTop = rootTop;\n }else{\n rootLeft = findPosX(curr.root);\n rootTop = findPosY(curr.root);\n rootHeight = curr.root.offsetHeight;\n popupLeft = rootLeft;\n popupTop = rootTop + rootHeight;\n }\n var winWidth = findWindowWidth();\n popupWidth = curr.popup.offsetWidth;\n if(popupLeft + popupWidth > winWidth){\n popupLeft = rootLeft - popupWidth + overlayWidth;\n }\n curr.popup.style.left = popupLeft + 'px';\n curr.popup.style.top = popupTop + 'px';\n curr.popup.style.display = 'block';\n addClass(curr.root, 'highlight');\n if(config.options.chkAnimate){\n anim.startAnimating(new Scroller(curr.popup,slowly));\n }else{\n window.scrollTo(0,ensureVisible(curr.popup));\n }\n};\nwikibarPopup.remove = function(){\n if(wikibarPopup.stack.length > 0){\n wikibarPopup.removeFrom(0);\n }\n};\nwikibarPopup.removeFrom = function(from){\n for(var t=wikibarPopup.stack.length-1; t>=from; t--){\n var p = wikibarPopup.stack[t];\n removeClass(p.root,'highlight');\n p.popup.parentNode.removeChild(p.popup);\n }\n wikibarPopup.stack = wikibarPopup.stack.slice(0,from);\n};\nwikibarPopup.removeFromRootPopup = function(from){\n for(var t=0; t<wikibarPopup.stack.length; t++){\n var p = wikibarPopup.stack[t];\n if(p.rootPopup==from){\n wikibarPopup.removeFrom(t);\n break;\n }\n }\n};\nwikibarPopup.onDocumentClick = function(e){\n if (!e){ e = window.event; }\n if(wikibarPopup.skipClickDocumentEvent){\n wikibarPopup.skipClickDocumentEvent=false;\n return true;\n }\n if((!e.eventPhase) || e.eventPhase == Event.BUBBLING_PHASE || e.eventPhase == Event.AT_TARGET){\n wikibarPopup.remove();\n }\n return true;\n};\nvar wikibarStore = {\n TYPE: 'MAIN_MENU',\n help:{\n TYPE:'MENU',\n CAPTION: '<font face=\s"verdana\s">?</font>',\n TOOLTIP: 'about WikiBar',\n options:{\n TYPE:'MENU',\n DYNAITEM: wikibar_genWikibarOptions\n },\n about:{\n TYPE:'MENU',\n DYNAITEM: wikibar_genWikibarAbout\n }\n },\n preview:{\n TOOLTIP: 'preview this tiddler',\n CAPTION: '<font face=\s"verdana\s">∞</font>',\n HANDLER: wikibar_doPreview\n },\n line:{\n TOOLTIP: 'horizontal line',\n CAPTION: '<font face=\s"verdana\s">—</font>',\n syntax: '\sn----\sn',\n HANDLER: wikibar_editFormatByCursor\n },\n crlf:{\n TOOLTIP: 'new line',\n CAPTION: '<font face=\s"verdana\s">¶</font>',\n syntax: '\sn',\n HANDLER: wikibar_editFormatByCursor\n },\n selectAll:{\n TOOLTIP: 'select all',\n CAPTION: '<font face=\s"verdana\s">§</font>',\n HANDLER: wikibar_editSelectAll\n },\n deleteSelected:{\n TOOLTIP: 'delete selected',\n CAPTION: '<font face=\s"verdana\s">×</font>',\n syntax: '',\n HANDLER: wikibar_editFormat\n },\n textFormat:{\n TYPE: 'MENU',\n CAPTION: 'text',\n TOOLTIP: 'text formatters',\n ignore:{\n TOOLTIP: 'ignore wiki word',\n CAPTION: 'ignore wikiWord',\n syntax: '~user_text',\n hint: 'wiki_word',\n HANDLER: wikibar_editFormatByWord\n },\n bolder:{\n TOOLTIP: 'bolder text',\n CAPTION: '<strong>bolder</strong>',\n syntax: "''user_text''",\n hint: 'bold_text',\n HANDLER: wikibar_editFormatByWord\n },\n italic:{\n TOOLTIP: 'italic text',\n CAPTION: '<em>italic</em>',\n syntax: '\s/\s/user_text\s/\s/',\n hint: 'italic_text',\n HANDLER: wikibar_editFormatByWord\n },\n underline:{\n TOOLTIP: 'underline text',\n CAPTION: '<u>underline</u>',\n syntax: '__user_text__',\n hint: 'underline_text',\n HANDLER: wikibar_editFormatByWord\n },\n strikethrough:{\n TOOLTIP: 'strikethrough text',\n CAPTION: '<strike>strikethrough</strike>',\n syntax: '==user_text==',\n hint: 'strikethrough_text',\n HANDLER: wikibar_editFormatByWord\n },\n superscript:{\n TOOLTIP: 'superscript text',\n CAPTION: 'X<sup>superscript</sup>',\n syntax: '^^user_text^^',\n hint: 'superscript_text',\n HANDLER: wikibar_editFormatByWord\n },\n subscript:{\n TOOLTIP: 'subscript text',\n CAPTION: 'X<sub>subscript</sub>',\n syntax: '~~user_text~~',\n hint: 'subscript_text',\n HANDLER: wikibar_editFormatByWord\n },\n comment:{\n TOOLTIP: 'comment text',\n CAPTION: 'comment text',\n syntax: '/%user_text%/',\n hint: 'comment_text',\n HANDLER: wikibar_editFormatByWord\n },\n monospaced:{\n TOOLTIP: 'monospaced text',\n CAPTION: '<code>monospaced</code>',\n syntax: '{{{user_text}}}',\n hint: 'monospaced_text',\n HANDLER: wikibar_editFormatByWord\n }\n },\n paragraph:{\n TYPE: 'MENU',\n TOOLTIP: 'paragarph formatters',\n list:{\n TYPE: 'MENU',\n TOOLTIP: 'list tools',\n bullet:{\n TOOLTIP: 'bullet point',\n syntax: '*user_text',\n hint: 'bullet_text',\n HANDLER: wikibar_editFormatByLine\n },\n numbered:{\n TOOLTIP: 'numbered list',\n syntax: '#user_text',\n hint: 'numbered_text',\n HANDLER: wikibar_editFormatByLine\n }\n },\n heading:{\n TYPE: 'MENU',\n heading1:{\n CAPTION:'<h1>Heading 1</h1>',\n TOOLTIP: 'Heading 1',\n syntax: '!user_text',\n hint: 'heading_1',\n HANDLER: wikibar_editFormatByLine\n },\n heading2:{\n CAPTION:'<h2>Heading 2<h2>',\n TOOLTIP: 'Heading 2',\n syntax: '!!user_text',\n hint: 'heading_2',\n HANDLER: wikibar_editFormatByLine\n },\n heading3:{\n CAPTION:'<h3>Heading 3</h3>',\n TOOLTIP: 'Heading 3',\n syntax: '!!!user_text',\n hint: 'heading_3',\n HANDLER: wikibar_editFormatByLine\n },\n heading4:{\n CAPTION:'<h4>Heading 4</h4>',\n TOOLTIP: 'Heading 4',\n syntax: '!!!!user_text',\n hint: 'heading_4',\n HANDLER: wikibar_editFormatByLine\n },\n heading5:{\n CAPTION:'<h5>Heading 5</h5>',\n TOOLTIP: 'Heading 5',\n syntax: '!!!!!user_text',\n hint: 'heading_5',\n HANDLER: wikibar_editFormatByLine\n }\n },\n comment:{\n TYPE: 'MENU',\n commentByLine:{\n CAPTION:'comment by line',\n TOOLTIP: 'line comment',\n syntax: '/%user_text%/',\n hint: 'comment_text',\n HANDLER: wikibar_editFormatByLine\n },\n commentByBlock:{\n CAPTION:'comment by block',\n TOOLTIP: 'block comment',\n syntax: '/%\snuser_text\sn%/',\n hint: 'comment_text',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n },\n monospaced:{\n TYPE: 'MENU',\n monosByLine:{\n CAPTION: 'monospaced by line',\n TOOLTIP: 'line monospaced',\n syntax: '{{{\snuser_text\sn}}}',\n hint: 'monospaced_text',\n HANDLER: wikibar_editFormatByLine\n },\n monosByBlock:{\n CAPTION: 'monospaced by block',\n TOOLTIP: 'block monospaced',\n syntax: '{{{\snuser_text\sn}}}',\n hint: 'monospaced_text',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n },\n quote:{\n TYPE: 'MENU',\n quoteByLine:{\n CAPTION: 'quote by line',\n TOOLTIP: 'line quote',\n syntax: '>user_text',\n hint: 'quote_text',\n HANDLER: wikibar_editFormatByLine\n },\n quoteByBlcok:{\n CAPTION: 'quote by block',\n TOOLTIP: 'block quote',\n syntax: '<<<\snuser_text\sn<<<',\n hint: 'quote_text',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n },\n plugin:{\n TYPE: 'MENU',\n code:{\n CAPTION: 'code area',\n TOOLTIP: 'block monospaced for plugin',\n syntax: '\sn\s/\s/{{{\snuser_text\sn\s/\s/}}}\sn',\n hint: 'monospaced_plugin_code',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n },\n commentByLine:{\n CAPTION: 'comment by line',\n TOOLTIP: 'line comment',\n syntax: '\s/\s/user_text',\n hint: 'plugin_comment',\n HANDLER: wikibar_editFormatByLine\n },\n commentByBlock:{\n CAPTION: 'comment by block',\n TOOLTIP: 'block comment',\n syntax: '\s/\s***\snuser_text\sn***\s/',\n hint: 'plugin_comment',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n },\n css:{\n TYPE: 'MENU',\n code:{\n CAPTION: 'code area',\n TOOLTIP: 'block monospaced for css',\n syntax: '\sn\snuser_text\sn\sn',\n hint: 'monospaced_css_code',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n },\n commentByLine:{\n CAPTION: 'comment by line',\n TOOLTIP: 'line comment',\n syntax: '',\n hint: 'css_comment',\n HANDLER: wikibar_editFormatByLine\n },\n commentByBlock:{\n CAPTION: 'comment by block',\n TOOLTIP: 'block comment',\n syntax: '',\n hint: 'css_comment',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n }\n },\n color:{\n TYPE: 'MENU',\n TOOLTIP: 'color tools',\n highlight:{\n CAPTION:'highlight text',\n TOOLTIP: 'highlight text',\n syntax: '@@user_text@@',\n hint: 'highlight_text',\n HANDLER: wikibar_editFormatByWord\n },\n color:{\n CAPTION:'text color',\n TOOLTIP: 'text color',\n hint: 'your_text',\n syntax: '@@color(%1):user_text@@',\n HANDLER: wikibar_getColorCode,\n doMore: wikibar_editFormatByWord\n },\n bgcolor:{\n CAPTION:'background color',\n TOOLTIP: 'background color',\n hint: 'your_text',\n syntax: '@@bgcolor(%1):user_text@@',\n HANDLER: wikibar_getColorCode,\n doMore: wikibar_editFormatByWord\n },\n colorcode:{\n CAPTION:'color code',\n TOOLTIP: 'insert color code',\n syntax: '%1',\n HANDLER: wikibar_getColorCode,\n doMore: wikibar_editFormatByCursor\n },\n 'color palette':{\n TYPE:'MENU',\n DYNAITEM: wikibar_genPaletteSelector,\n SEPERATOR:{},\n morePalette:{\n CAPTION:'more palettes',\n TOOLTIP:'get more palettes',\n HANDLER: wikibar_getMorePalette\n }\n }\n },\n link:{\n TYPE: 'MENU',\n TOOLTIP: 'insert link',\n wiki:{\n CAPTION:'wiki link',\n TOOLTIP: 'wiki link',\n syntax: '[[user_text]]',\n hint: 'wiki_word',\n HANDLER: wikibar_editFormatByWord\n },\n pretty:{\n CAPTION: 'pretty link',\n TOOLTIP: 'pretty link',\n syntax: '[[user_text|%1]]',\n hint: 'pretty_word',\n param: 'PrettyLink Target',\n HANDLER: wikibar_getLinkUrl,\n doMore: wikibar_editFormatByWord\n },\n url:{\n TOOLTIP: 'url link',\n syntax: '[[user_text|%1]]',\n hint: 'your_text',\n param: 'http:\s/\s/...',\n HANDLER: wikibar_getLinkUrl,\n doMore: wikibar_editFormatByWord\n },\n image:{\n TOOLTIP: 'image link',\n syntax: '[img[user_text|%1]]',\n hint: 'alt_text',\n param: 'image/icon.jpg',\n HANDLER: wikibar_getLinkUrl,\n doMore: wikibar_editFormatByWord\n }\n },\n macro:{},\n more:{\n TYPE: 'MENU',\n TOOLTIP: 'more tools',\n table:{\n TYPE: 'MENU',\n TOOLTIP: 'table',\n table:{\n CAPTION:'create table',\n TOOLTIP: 'create a new table',\n syntax: '\sn%1\sn',\n HANDLER: wikibar_getTableRowCol,\n doMore: wikibar_editFormatByWord\n },\n header:{\n TOOLTIP: 'table header text',\n syntax: '|user_text|c',\n hint: 'table_header',\n HANDLER: wikibar_editFormatByWord\n },\n cell:{\n TOOLTIP: 'create a tabel cell',\n syntax: '|user_text|',\n hint: 'your_text',\n HANDLER: wikibar_editFormatByWord\n },\n columnHeader:{\n CAPTION:'column header',\n TOOLTIP: 'create a column header cell',\n syntax: '|!user_text|',\n hint: 'column_header',\n HANDLER: wikibar_editFormatByWord\n },\n cell:{\n TYPE: 'MENU',\n CAPTION: 'cell options',\n bgcolor:{\n CAPTION: 'background color',\n TOOLTIP: 'cell bgcolor',\n syntax: '|bgcolor(%1):user_text|',\n hint: 'your_text',\n HANDLER: wikibar_getColorCode,\n doMore: wikibar_editFormatByTableCell\n },\n alignLeft:{\n CAPTION: 'align left',\n TOOLTIP: 'left align cell text',\n syntax: '|user_text|',\n hint: 'your_text',\n HANDLER: wikibar_editFormatByTableCell\n },\n alignCenter:{\n CAPTION: 'align center',\n TOOLTIP: 'center align cell text',\n syntax: '| user_text |',\n hint: 'your_text',\n HANDLER: wikibar_editFormatByTableCell\n },\n alignRight:{\n CAPTION: 'align right',\n TOOLTIP: 'right align cell text',\n syntax: '| user_text|',\n hint: 'your_text',\n HANDLER: wikibar_editFormatByTableCell\n }\n }\n },\n html:{\n TYPE: 'MENU',\n html:{\n CAPTION: '<html>',\n TOOLTIP: 'html tag',\n syntax: '<html>\snuser_text\sn</html>',\n hint: 'html_content',\n byBlock: true,\n HANDLER: wikibar_editFormatByLine\n }\n }\n },\n addon:{\n TYPE: 'MENU',\n TOOLTIP:'3rd party tools',\n 'about addons':{\n TOOLTIP: 'list loaded addons',\n HANDLER: wikibar_doListAddons\n },\n SEPERATOR:{}\n }\n};\naddEvent(document, 'click', wikibarColorTool.onDocumentClick);\naddEvent(document, 'click', wikibarPopup.onDocumentClick);\nwikibar_install();\n//}}}
<<gradient vert ##00cc33 #ffffff #ff66cc>>Pases:\n#clica a ''edita''\n#clica al nou botó ''wikibar'' (a la dreta).\n>>
|!Títols: afegiu un signe d'exclamació (!) just després de la barra vertical.|!Títol2|!Títol3|\n|Fila 1, Columna 1|Fila 1, Columna 2|Fila 1, Columna 3|\n|>|>|Feu que una fila ocupi més d'una columna amb un >|\n|Feu que una columna ocupi més d'una fila amb una ~|>| Poseu un espai a l'inici per ajustar a la dreta el text d'una cel·la|\n|~|>| Centreu el text d'una cel·la amb un espai a cada extrem |\n|>|>|bgcolor(green):Afegiu color a una cel·la amb bgcolor(aquíelcolor):|\n|Afegiu un peu a la taula acabant la taula amb una barra vertical seguida d'una c|c\n\n|>|>|>|! ''Xivatilla'' |\n| ''Nom'' | ''Funció'' | Nivell'' | ''Observacions'' |\n|''~TiddlyWiki''|Pàgina web, wiki, bitàcola, agenda personal, ...| ?? | *~TiddlyWiki és un programari Web 2.0 senzill, flexible, personalitzable, cooperatiu, col·laboratiu, amb el qual es poden fer pàgines web sense cap tipus de coneixements HTML, XHTML, DXHTML, CSS... \n*~TiddlyWiki que supera en senzilesa els //tradicionals// CMS, Blogs i Wikis. \n*~TiddlyWiki pot treballar sense base de dades i sense PHP, de manera que es pot penjar a qualsevol servidor.\n*~TiddlyWiki pot treballar en local, ja sigui en el propi ordinador o en una LAN, fins i tot sense necessitat d'instal·lar LAMP o WAMP.\n*TiddlyWiki ocupa tan poc espai que ''es pot dur en un disquet''.\n*TiddlyWiki és tan fàcil d'aprendre que des del mateix moment que te'l baixes, ja pots començar a afegir entrades.|\n|TiddlyWiki.html|Programari|Elemental|Baixa-te'l des d'[[aquí|http://www.xtec.cat/~friviere/TiddlyWiki.html]]. Clica amb el botó secundari del ratolí i tria "Anomena i desa"|\n|''tiddler''|Edició d'entrades|Elemental|El //tiddler// és la base del TiddlyWiki. Amb els tiddlers es pot:\n* Crear entrades tipus bitàcola.\n* Crear entrades tipus wiki.\n* Crear entrades tipus dietari.\n* Dur una agenda.\nA més a més la configuració del sistema del TiddlyWiki també es fa mitjançant els tiddlers.\n\n
\n\n|>|>|>|>|>|! ''Xivatilla: ~TiddlyWiki en un cop d'ull'' |\n|''Nivell'' | ''Nom'' | ''Què és? Per a què serveix?'' |>|>| ''Observacions'' |\n|bgcolor(#ffc):''Elemental'' |bgcolor(#ffc)://~TiddlyWiki// |bgcolor(#ffc):Pàgina web, wiki, bitàcola, agenda personal, ... |>|>|bgcolor(#ffc):~TiddlyWiki és un programari Web 2.0 senzill, flexible, personalitzable, social, cooperatiu, col·laboratiu, amb el qual es poden fer pàgines web sense cap tipus de coneixements HTML, XHTML, DXHTML, CSS... |\n|~|~|~|>|>|bgcolor(#ffc):~TiddlyWiki supera en senzilesa i facilitat d'ús els //tradicionals// CMS, Blogs i Wikis.|\n|~|~|~|>|>|bgcolor(#ffc):~TiddlyWiki funciona sense base de dades i sense PHP, de manera que es pot penjar a qualsevol servidor. |\n|~|~|~|>|>|bgcolor(#ffc):__TiddlyWiki s'edita en local__, ja sigui en el propi ordinador o en una LAN, sense necessitat d'instal·lar LAMP o WAMP. La popularitat de ~TiddlyWiki ha dut a la comunitat a crear versions que poden editar-se en remot, si es pengen d'un servidor amb base de dades|\n|~|~|~|>|>|bgcolor(#ffc):~TiddlyWiki ocupa tan poc espai que __hi cap en un disquet!__. |\n|~|~|~|>|>|bgcolor(#ffc):~TiddlyWiki és tan fàcil d'aprendre que des del mateix moment que te'l baixes, ja pots començar a afegir entrades.|\n|~|bgcolor(#ffc)://~TiddlyWiki.html//|bgcolor(#ffc):Programari|>|>|bgcolor(#ffc):Baixa-te'l des d'[[aquí|http://www.xtec.cat/~friviere/TiddlyWiki.html]]. Clica amb el botó secundari del ratolí i tria Anomena i desa|\n|~|bgcolor(#ffc)://tiddler// |bgcolor(#ffc):Edició d'entrades |>|>|bgcolor(#ffc):El tiddler és la base del ~TiddlyWiki. Amb els tiddlers es pot: |\n|~|~|~|>|>|bgcolor(#ffc):Crear entrades tipus bitàcola. |\n|~|~|~|>|>|bgcolor(#ffc):Crear entrades tipus wiki. |\n|~|~|~|>|>|bgcolor(#ffc):Crear entrades tipus dietari. |\n|~|~|~|>|>|bgcolor(#ffc):Dur una agenda. |\n|~|~|~|>|>|bgcolor(#ffc):Personalitzar el ~TiddlyWiki amb connectors|\n|~|~|~|>|>|bgcolor(#ffc):A més a més la configuració del sistema del ~TiddlyWiki també es fa mitjançant tiddlers que ja hi són quan baixem el ~TiddlyWiki. Hi ha tiddlers del sistema que es poden crear: es poden copiar d'altres ~TiddlyWiki, ja que el ~TiddlyWiki és en essència una eina social.|\n|~|bgcolor(#ffc)://etiquetes//|bgcolor(#ffc):Classifiquen els tiddlers|>|>|bgcolor(#ffc):Les etiquetes classifiquen els tiddlers, tal com es fa en les entrades als blogs. Cada tiddler, a més a més pot tenir totes les etiquetes que es vulgui. Hi ha dos tipus d'etiquetes:|\n|~|~|~|>|>|bgcolor(#ffc):Les etiquetes que crea l'usuari per classificar i indexar els tiddlers que va creant: art, educació, economia, diari... A partir d'una etiqueta es poden obrir tots els tiddlers que hi fan referència|\n|~|~|~|>|>|bgcolor(#ffc):Les etiquetes del sistema. Al personalitzar el ~TiddlyWiki important connectors se li ha de dir al sistema que el connector està operatiu etiquetant-lo amb ~systemConfig. Si es vol deshabilitar el connector, no cal suprimir el tiddler, sinó només cal suprimir la etiqueta ~systemConfig del tiddler. |\n|~|~|~|>|>|bgcolor(#ffc):Hi ha etiquetes del sistema que l'usuari pot incorporar als seus tiddlers. Actuen directament sobre funcions del sistema, com per exemple la cerca o els llistats. L'etiqueta ~excludeLists exclou els tiddlers que etiqueta dels llistats de tiddlers. L'etiqueta ~excludeSearch els exclou de les cerques.|\n|~|bgcolor(#ffc)://botons flotants//|bgcolor(#ffc):Operadors|>|>|bgcolor(#ffc):Es fan visibles al passar el el ratolí sobre un tiddler obert. Permeten operar sobre els tiddlers. Amb el ~TiddlyWiki en local són els següents:|\n|~|~|~|>|>|bgcolor(#ffc):__Tanca__: tanca el tiddler obert.|\n|~|~|~|>|>|bgcolor(#ffc):__Tanca altres__: tanca tots els tiddlers oberts excepte el tiddler del botó flotant.|\n|~|~|~|>|>|bgcolor(#ffc):__Edita__: edita el tiddler. Permet crear, modificar i suprimir el tiddler.|\n|~|~|~|>|>|bgcolor(#ffc):__Enllaç permanent__: mostra a la finstra d'URL del navegador l'enllaç permanent al tiddler|\n|~|~|~|>|>|bgcolor(#ffc):__Referències__: mostra els tiddlers que enllacen amb aquest.|\n|~|~|~|>|>|bgcolor(#ffc):__Salta__: salta al següent tiddler obert.|\n|~|~|~|>|>|bgcolor(#ffc):A l'editar un tiddler, són els següents:|\n|~|~|~|>|>|bgcolor(#ffc):__Desa__: desa els canvis fets al tiddler.|\n|~|~|~|>|>|bgcolor(#ffc):__Anul·la__: tanca el tiddler sense guardar els canvis.|\n|~|~|~|>|>|bgcolor(#ffc):__Suprimeix__: suprimeix el tiddler.|\n|~|~|~|>|>|bgcolor(#ffc):Amb el ~TiddlyWiki penjat al servidor són els mateixos que en local però en canvi del botó //edita// apareix el botó __mostra__: mostra el contingut del tiddler sense cap possibilitat d'edició.|\n|~|bgcolor(#ffc):''opcions de la barra lateral''|bgcolor(#ffc)://Opcions bàsiques//|>|>|bgcolor(#ffc):La barra lateral, en el tema per defecte, està situada a la dreta de la interfície. Els tiddlers essencials són:|\n|~|~|~|>|>|bgcolor(#ffc):nou tiddler: obre un tiddler buit en mode edició|\n|~|~|~|>|>|bgcolor(#ffc):desa els canvis: desa els canvis fets en el ~TiddlyWiki al disc dur.|\n|bgcolor(#fe8):''Bàsic''|bgcolor(#fe8)://~ComençaAquí//|bgcolor(#fe8):Primer pas|>|>|bgcolor(#fe8):El trobaràs al Menú Principal, que en el tema que carrega per defecte (none) està situat a l'esquerra. aquest tiddler és el primer que s'ha d'obrir el primer cop que es fa servir el ~TiddlyWiki. A l'obrir-lo s'accedeix als tiddlers que s'editen el primer cop que es comença a treballar amb el ~TiddlyWiki: ~TitolDelLloc i ~SubtítolDelLloc|\n|~|bgcolor(#fe8)://~TitolDelLloc / ~SubtítolDelLloc//|bgcolor(#fe8):Segon pas|>|>|bgcolor(#fe8):Són els primers tiddlers que s'han d'editar al començar a treballar amb ~TiddlyWiki. Defineixen el Títol i el Subtítol del lloc: en el moment que es desa el tiddler ja apareixen a la capçalera de la pàgina.|\n|~|bgcolor(#fe8)://~MenúPrincipal//|bgcolor(#fe8):Edita el menú de l'esquerra, al tema per defecte|>|>|bgcolor(#fe8):Editant el tiddler ~Menúprincipal podem afegir elements al menú principal|\n|~|bgcolor(#fe8)://~TiddlersPerOmissió//|bgcolor(#fe8):Tiddler del sistema|>|>|bgcolor(#fe8):Els tiddlers que conté són els que es mostren per defecte al carregar o refrescar el ~TiddlyWiki|\n|~|bgcolor(#fe8)://~CatalanLingo//|bgcolor(#fe8):Tiddler del sistema|>|>|bgcolor(#fe8):Localitza el ~TiddlyWiki al català: conté la traducció de les cadenes de l'anglès al català|\n|bgcolor(#db4):''Avançat''|bgcolor(#db4)://Connectors: calendari//|bgcolor(#db4):Personalització|>|>|bgcolor(#db4):En funció de la configuració mostra el mes actual, el trimestre, l'any, un més en concret, un període en concret, etc. Clicant sobre un dia determinat s'obre un tiddler-diari del dia en qüestió|\n|~|bgcolor(#db4)://Connectors: presentació//|bgcolor(#db4):Personalització|>|>|bgcolor(#db4):Crea presentacions de diapositives. Les diapositives poden ser altres tiddlers, text, text formatat, imatges, ...|\n|~|bgcolor(#db4)://Connectors: ~TriaTema//|bgcolor(#db4):Personalització|bgcolor(#db4):Permet al visitant personalitzar la seva interfície.|\n|~|bgcolor(#db4)://Formatant el text//|bgcolor(#db4):Opcions de format|bgcolor(#db4):Negreta: cal posar dos apòstrofs (') al davant i al darrera el text. ''Paraula''|\n|~|~|~|>|>|bgcolor(#db4):Cursiva: cal posar dues barres (/) al davant i al darrera el text. //Paraula//|\n|~|~|~|>|>|bgcolor(#db4):Subratllat: cal posar dos guions baixos (_) al davant i al darrera el text. __Paraula__ |\n|>|>|>|>|>|bgcolor(#703):@@bgcolor(#703):color(#fff): ''A T E N C I Ó : ~TiddlyWiki és una eina que no et deixarà indiferent'' @@|\n|T'ha picat la curiositat? Aprèn [[TiddlyWiki en 20 minuts!|http://pacoriviere.googlepages.com/20minuts.html]]|c\n\n
version.extensions.tagCloud = {major: 1, minor: 0 , revision: 1, date: new Date(2005,8,16)};\n//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman\n\nconfig.macros.tagCloud = {\n noTags: "No tag cloud created because there are no tags.",\n tooltip: "%1 tiddlers tagged with '%0'"\n};\n\nconfig.macros.tagCloud.handler = function(place,macroName,params) {\n \nvar tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);\n\nvar tags = store.getTags();\nfor (t=0; t<tags.length; t++) {\n for (p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";\n}\n\n if(tags.length == 0) \n createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);\n //Findout the maximum number of tags\n var mostTags = 0;\n for (t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n if (tags[t][1] > mostTags) mostTags = tags[t][1];\n }\n //divide the mostTags into 4 segments for the 4 different tagCloud sizes\n var tagSegment = mostTags / 4;\n\n for (t=0; t<tags.length; t++) if (tags[t][0].length > 0){\n var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);\n tagCloudWrapper.appendChild(document.createTextNode(" "));\n var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));\n theTag.setAttribute("tag",tags[t][0]);\n }\n\n};\n\nsetStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");