/***\n|''Name:''|PortugueseLingo|\n|''Description:''|An european portuguese translation for TW|\n|''Version:''|2.0.0|\n|''Date:''|Sep 18, 2006|\n|''Source:''|http://www.math.ist.utl.pt/~psoares/addons.html|\n|''Author:''|Paulo Soares (psoares (at) math (dot) ist (dot) utl (dot) pt)|\n|''License:''|[[BSD open source license]]|\n|''~CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n***/\n{{{\n// ---------------------------------------------------------------------------------\n// Translateable strings\n// ---------------------------------------------------------------------------------\n\n// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone\n\nif (config.options.txtUserName=="YourName")\n merge(config.options,{txtUserName: "OSeuNome"}); \n\nmerge(config.messages,{\n customConfigError: "Foram encontrados problemas ao carregar plugins. Veja o PluginManager para mais detalhes",\n pluginError: "Erro: %0",\n pluginDisabled: "Não executado porque foi desactivado pela etiqueta 'systemConfigDisable'",\n pluginForced: "Executado porque foi forçado pela etiqueta 'systemConfigForce'",\n pluginVersionError: "Não executado porque este plugin requer uma versão mais recente do TiddlyWiki",\n nothingSelected: "Nada selecionado. Deve selecionar um ou mais items primeiro",\n savedSnapshotError: "Parece que este TiddlyWiki foi guardado incorrectamente. Por favor veja http://www.tiddlywiki.com/#DownloadSoftware para mais detalhes",\n subtitleUnknown: "(desconhecido)",\n undefinedTiddlerToolTip: "O tiddler '%0' ainda não existe",\n shadowedTiddlerToolTip: "O tiddler '%0' ainda não existe, mas tem um modelo pré-definido",\n tiddlerLinkTooltip: "%0 - %1, %2",\n externalLinkTooltip: "Ligação externa a %0",\n noTags: "Não há tiddlers com etiquetas",\n notFileUrlError: "É necessário guardar este TiddlyWiki num ficheiro antes de poder guardar alterações",\n cantSaveError: "Não é possível guardar alterações. Isto pode acontecer porque o seu browser não o permite (em alternativa, use o Firefox se puder), ou porque o nome do caminho para o seu ficheiro TiddlyWiki contém caracteres ilegais",\n invalidFileError: "O ficheiro original '%0' não parece ser um TiddlyWiki válido",\n backupSaved: "Ficheiro de backup guardado",\n backupFailed: "Falha ao guardar o ficheiro de backup",\n rssSaved: "Ficheiro RSS guardado",\n rssFailed: "Falha ao guardar o ficheiro RSS",\n emptySaved: "Modelo vazio guardado",\n emptyFailed: "Falha ao guardar o modelo vazio",\n mainSaved: "Ficheiro principal de TiddlyWiki guardado",\n mainFailed: "Falha ao guardar o ficheiro principal de TiddlyWiki. As suas alterações não foram guardadas",\n macroError: "Erro na macro <<%0>>",\n macroErrorDetails: "Erro ao executar a macro <<%0>>:\sn%1",\n missingMacro: "Essa macro não existe",\n overwriteWarning: "Um tiddler chamado '%0' já existe. Escolha OK para substituí-lo",\n unsavedChangesWarning: "ATENÇÃO! Há alterações no TiddlyWiki que ainda não foram guardadas\sn\snEscolha OK para guardar\snEscolha CANCEL para abandonar as alterações",\n confirmExit: "--------------------------------\sn\snHá alterações no TiddlyWiki que ainda não foram guardadas. Se continuar irá perder essas alterações\sn\sn--------------------------------",\n saveInstructions: "GuardarAlterações",\n unsupportedTWFormat: "Formato TiddlyWiki não suportado '%0'",\n tiddlerSaveError: "Erro ao guardar tiddler '%0'",\n tiddlerLoadError: "Erro ao carregar tiddler '%0'",\n wrongSaveFormat: "Não é possível guardar no formato de armazenamento '%0'. Use o formato standard para guardar.",\n invalidFieldName: "Nome de campo inválido %0",\n fieldCannotBeChanged: "O campo '%0' não pode ser modificado"});\n\nmerge(config.messages.messageClose,{\n text: "fechar",\n tooltip: "fecha esta área de mensagens"});\n\nconfig.messages.dates.months = ["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"];\nconfig.messages.dates.days = ["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"];\nconfig.messages.dates.shortMonths = ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"];\nconfig.messages.dates.shortDays = ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"];\n\nmerge(config.views.wikified.tag,{\n labelNoTags: "sem etiquetas",\n labelTags: "etiquetas: ",\n openTag: "Abrir etiqueta '%0'",\n tooltip: "Abrir tiddlers etiquetados com '%0'",\n openAllText: "Abrir todos",\n openAllTooltip: "Abrir todos estes tiddlers",\n popupNone: "Não há outros tiddlers etiquetados com '%0'"});\n\nmerge(config.views.wikified,{\n defaultText: "O tiddler '%0' ainda não existe. Faça duplo-clique para criá-lo",\n defaultModifier: "(em falta)",\n shadowModifier: "(tiddler sombra pré-definido)",\n createdPrompt: "criado em"});\n\nmerge(config.views.editor,{\n tagPrompt: "Escreva as etiquetas separadas por espaços, [[use duplos parênteses rectos]] se necessário, ou atribua existentes",\n defaultText: "Escreva o texto para '%0'"});\n\nmerge(config.views.editor.tagChooser,{\n text: "etiquetas",\n tooltip: "Escolha entre as etiquetas existentes para atribuir a este tiddler",\n popupNone: "Não há etiquetas definidas",\n tagTooltip: "Atribuir a etiqueta '%0'"});\n\nmerge(config.macros.search,{\n label: "procurar",\n prompt: "Procura neste TiddlyWiki",\n accessKey: "F",\n successMsg: "%0 tiddlers encontrados que contêm %1",\n failureMsg: "Não foi encontrado nenhum tiddler que contenha %0"});\n\nmerge(config.macros.tagging,{\n label: "etiquetando:",\n labelNotTag: "não etiquetando",\n tooltip: "Lista de tiddlers etiquetados com '%0'"});\n\nmerge(config.macros.timeline,{\n dateFormat: "DD MMM YYYY"});\n\nmerge(config.macros.allTags,{\n tooltip: "Mostra tiddlers com a etiqueta '%0'",\n noTags: "Não há tiddlers etiquetados"});\n\nconfig.macros.list.all.prompt = "Todos os tiddlers por ordem alfabética";\nconfig.macros.list.missing.prompt = "Tiddlers com ligações de outros tiddlers mas que não existem";\nconfig.macros.list.orphans.prompt = "Tiddlers sem ligações de outros tiddlers";\nconfig.macros.list.shadowed.prompt = "Tiddlers na sombra com conteúdo pré-definido";\n\nmerge(config.macros.closeAll,{\n label: "fechar todos",\n prompt: "Fecha todos os tiddlers abertos (excepto os que estão a ser editados)"});\n\nmerge(config.macros.permaview,{\n label: "permavista",\n prompt: "Ligação a um URL que mostra todos os tiddlers que estão abertos"});\n\nmerge(config.macros.saveChanges,{\n label: "guardar alterações",\n prompt: "Guarda todas as alterações em ficheiro",\n accessKey: "S"});\n\nmerge(config.macros.newTiddler,{\n label: "novo tiddler",\n prompt: "Cria um novo tiddler",\n title: "Novo tiddler",\n accessKey: "N"});\n\nmerge(config.macros.newJournal,{\n label: "novo diário",\n prompt: "Cria um novo tiddler com a data e hora actuais",\n accessKey: "J"});\n\nmerge(config.macros.plugins,{\n skippedText: "(Este plugin não foi executado porque foi incluido depois do arranque)",\n noPluginText: "Não há plugins instalados",\n confirmDeleteText: "Tem a a certeza que quer eliminar estes tiddlers:\sn\sn%0",\n listViewTemplate : {\n columns: [\n {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},\n {name: 'Title', field: 'title', tiddlerLink: 'title', title: "Título", type: 'TiddlerLink'},\n {name: 'Forced', field: 'forced', title: "Forçado", tag: 'systemConfigForce', type: 'TagCheckbox'},\n {name: 'Disabled', field: 'disabled', title: "Desactivado", tag: 'systemConfigDisable', type: 'TagCheckbox'},\n {name: 'Executed', field: 'executed', title: "Executado", type: 'Boolean', trueText: "Sim", falseText: "Não"},\n {name: 'Error', field: 'error', title: "Resultado", type: 'Boolean', trueText: "Erro", falseText: "OK"},\n {name: 'Log', field: 'log', title: "Log", type: 'StringList'}\n ],\n rowClasses: [\n {className: 'error', field: 'error'},\n {className: 'warning', field: 'warning'}\n ],\n actions: [\n {caption: "Mais acções...", name: ''},\n {caption: "Remover a etiqueta systemConfig", name: 'remove'},\n {caption: "Eliminar estes tiddlers para sempre", name: 'delete'}\n ]}\n });\n\nmerge(config.macros.refreshDisplay,{\n label: "refrescar",\n prompt: "Recarrega todo o TiddlyWiki"\n });\n\nmerge(config.macros.importTiddlers,{\n defaultPath: "http://www.tiddlywiki.com/index.html",\n fetchLabel: "importar",\n fetchPrompt: "Importe o ficheiro Tiddlywiki",\n fetchError: "Ocorreram problemas ao importar o ficheiro Tiddlywiki",\n confirmOverwriteText: "Tem a certeza que quer substituir estes tiddlers:\sn\sn%0",\n wizardTitle: "Importar tiddlers de outro ficheiro TiddlyWiki",\n step1: "Passo 1: Localize o ficheiro",\n step1prompt: "Escreva o URL ou o caminho aqui: ",\n step1promptFile: "...ou procure um ficheiro: ",\n step1promptFeeds: "...ou selecione uma localização pré-definida: ",\n step1feedPrompt: "Escolha...",\n step2: "Passo 2: A carregar o ficheiro TiddlyWiki",\n step2Text: "Por favor aguarde enquanto o ficheiro é carregado de: %0",\n step3: "Passo 3: Escolha os tiddlers a importar",\n step4: "%0 tiddler(s) importado(s)",\n step5: "terminado",\n listViewTemplate: {\n columns: [\n {name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},\n {name: 'Title', field: 'title', title: "Título", type: 'String'},\n {name: 'Snippet', field: 'text', title: "Extracto", type: 'String'},\n {name: 'Tags', field: 'tags', title: "Etiquetas", type: 'Tags'}\n ],\n rowClasses: [\n ],\n actions: [\n {caption: "Mais acções...", name: ''},\n {caption: "Importar estes tiddlers", name: 'import'}\n ]}\n });\n\nmerge(config.commands.closeTiddler,{\n text: "fechar",\n tooltip: "Fecha este tiddler"});\n\nmerge(config.commands.closeOthers,{\n text: "fechar outros",\n tooltip: "Fecha todos os outros tiddlers"});\n\nmerge(config.commands.editTiddler,{\n text: "editar",\n tooltip: "Edita este tiddler",\n readOnlyText: "ver",\n readOnlyTooltip: "Ver o conteúdo deste tiddler"});\n\nmerge(config.commands.saveTiddler,{\n text: "guardar",\n tooltip: "Guarda as alterações a este tiddler"});\n\nmerge(config.commands.cancelTiddler,{\n text: "cancelar",\n tooltip: "Cancela as alterações a este tiddler",\n warning: "Tem a certeza que quer cancelar as alterações a '%0'?",\n readOnlyText: "ver",\n readOnlyTooltip: "Ver este tiddler normalmente"});\n\nmerge(config.commands.deleteTiddler,{\n text: "eliminar",\n tooltip: "Elimina este tiddler",\n warning: "Tem a certeza que quer eliminar '%0'?"});\n\nmerge(config.commands.permalink,{\n text: "permaligação",\n tooltip: "Permaligação para este tiddler"});\n\nmerge(config.commands.references,{\n text: "referências",\n tooltip: "Abre tiddlers que ligam a este",\n popupNone: "Sem referências"});\n\nmerge(config.commands.jump,{\n text: "saltar",\n tooltip: "Salta para outro tiddler aberto"});\n\nmerge(config.shadowTiddlers,{\n DefaultTiddlers: "ComoComeçar",\n MainMenu: "ComoComeçar",\n SiteTitle: "O meu TiddlyWiki",\n SiteSubtitle: "um bloco de notas reutilizável e não-linear na web",\n SiteUrl: "http://www.tiddlywiki.com/",\n ComoComeçar: "Para começar a usar este TiddlyWiki vazio terá de modificar os seguintes tiddlers:\sn* SiteTitle & SiteSubtitle: O título e o subtítulo do site, como pode ver acima (depois de guardar as alterações, eles aparecerão também na barra de título do browser)\sn* MainMenu: O menu (usualmente à esquerda)\sn* DefaultTiddlers: Contém o nome dos tiddlers que pretende que apareçam quando o TiddlyWiki é aberto\snSerá também necessário inserir o nome de utilizador que servirá para assinar as edições: <<option txtUserName>>",\n SideBarOptions: "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'opções »' 'Muda as opções avançadas do TiddlyWiki'>>",\n OptionsPanel: "Estas opções de personalização do TiddlyWiki ficam guardadas no seu browser\sn\snO seu nome de utilizador para assinar os textos. Use uma PalavraWiki (eg, JoséSilva)\sn\sn<<option txtUserName>>\sn<<option chkSaveBackups>> GuardarBackups\sn<<option chkAutoSave>> AutoGuardar\sn<<option chkRegExpSearch>> ProcuraExpReg\sn<<option chkCaseSensitiveSearch>> ProcuraSensívMaiúsc\sn<<option chkAnimate>> ActivarAnimações\sn\sn----\snOpçõesAvançadas\snGestãoDePlugins\snImportarTiddlers",\n AdvancedOptions: "<<option chkGenerateAnRssFeed>> GerarUmFicheiroRSS\sn<<option chkOpenInNewWindow>> AbrirLigaçõesNumaNovaJanela\sn<<option chkSaveEmptyTemplate>> CriaNovoModeloVazio\sn<<option chkToggleLinks>> Fazer clique em ligações para tiddlers abertos, fecha-os\sn^^(desactive com Control ou outra tecla modificadora)^^\sn<<option chkHttpReadOnly>> EscondeFunçõesDeEdição quando acedido por HTTP\sn<<option chkForceMinorUpdate>> Trata as edições como AlteraçõesMenores preservando a data e a hora\sn^^(desactive pressionando Shift enquanto clica 'guardar' ou pressionando Ctrl-Shift-Enter^^\sn<<option chkConfirmDelete>> ConfirmarAntesDeEliminar\snNúmero máximo de linhas na caixa de edição do tiddler: <<option txtMaxEditRows>>\snNome do directório para os ficheiros de backup: <<option txtBackupFolder>>\sn<<option chkInsertTabs>> Usar a tecla tab para inserir caracteres tab em vez de saltar para o próximo campo",\n SideBarTabs: "<<tabs txtMainTab 'Data' 'Tiddlers por ordem cronológica' TabTimeline 'Título' 'Tiddlers por ordem alfabética' TabAll 'Etiquetas' 'Todas as etiquetas' TabTags 'Mais' 'Mais listas' TabMore>>",\n TabTimeline: "<<timeline>>",\n TabAll: "<<list all>>",\n TabTags: "<<allTags>>",\n TabMore: "<<tabs txtMoreTab 'Em falta' 'Tiddlers em falta' TabMoreMissing 'Orfãos' 'Tiddlers sem ligações de outros tiddlers' TabMoreOrphans Sombra 'Tiddlers na sombra' TabMoreShadowed>>",\n TabMoreMissing: "<<list missing>>",\n TabMoreOrphans: "<<list orphans>>",\n TabMoreShadowed: "<<list shadowed>>",\n PluginManager: "<<plugins>>",\n ImportTiddlers: "<<importTiddlers>>",\n OpçõesAvançadas: "<<tiddler AdvancedOptions>>",\n GestãoDePlugins: "<<tiddler PluginManager>>",\n ImportarTiddlers: "<<tiddler ImportTiddlers>>"});\n\ndelete config.shadowTiddlers.GettingStarted;\n}}}
text/plain\n.txt .text .js .vbs .asp .cgi .pl\n----\ntext/html\n.htm .html .hta .htx .mht\n----\ntext/comma-separated-values\n.csv\n----\ntext/javascript\n.js\n----\ntext/css\n.css\n----\ntext/xml\n.xml .xsl .xslt\n----\nimage/gif\n.gif\n----\nimage/jpeg\n.jpg .jpe .jpeg\n----\nimage/png\n.png\n----\nimage/bmp\n.bmp\n----\nimage/tiff\n.tif .tiff\n----\naudio/basic\n.au .snd\n----\naudio/wav\n.wav\n----\naudio/x-pn-realaudio\n.ra .rm .ram\n----\naudio/x-midi\n.mid .midi\n----\naudio/mp3\n.mp3\n----\naudio/m3u\n.m3u\n----\nvideo/x-ms-asf\n.asf\n----\nvideo/avi\n.avi\n----\nvideo/mpeg\n.mpg .mpeg\n----\nvideo/quicktime\n.qt .mov .qtvr\n----\napplication/pdf\n.pdf\n----\napplication/rtf\n.rtf\n----\napplication/postscript\n.ai .eps .ps\n----\napplication/wordperfect\n.wpd\n----\napplication/mswrite\n.wri\n----\napplication/msexcel\n.xls .xls3 .xls4 .xls5 .xlw\n----\napplication/msword\n.doc\n----\napplication/mspowerpoint\n.ppt .pps\n----\napplication/x-director\n.swa\n----\napplication/x-shockwave-flash\n.swf\n----\napplication/x-zip-compressed\n.zip\n----\napplication/x-gzip\n.gz\n----\napplication/x-rar-compressed\n.rar\n----\napplication/octet-stream\n.com .exe .dll .ocx
/***\n|Name|AttachFilePluginFormatters|\n|Source|http://www.TiddlyTools.com/#AttachFilePluginFormatters|\n|Version|3.5.3.0|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides|'image' and 'prettyLink' formatters, TiddlyWiki.prototype.getRecursiveTiddlerText|\n|Description|run-time library for distributing attachment tiddlers|\n\nYou can include this small //''run time library''// in your documents to render ''attachment tiddlers'' created by the AttachFilePlugin. Attachment tiddlers are tagged with<<tag attachment>>and contain binary file content (e.g., jpg, gif, pdf, mp3, etc.) that can be stored directly as base64 text-encoded data or loaded from external files stored on a local filesystem or remote web server.\n\nThis plugin extends the behavior of the following TiddlyWiki core "wikify()" formatters:\n* embedded images: {{{[img[tooltip|image]]}}}\n* linked embedded images: {{{[img[tooltip|image][link]]}}}\n* external/"pretty" links: {{{[[label|link]]}}}\n\n''Please refer to AttachFilePlugin (source: http://www.TiddlyTools.com/#AttachFilePlugin) for additional information.''\n!!!!!Revision History\n<<<\n''2007.03.01 [3.5.3.0]'' sync with AttachFilePlugin v3.5.3 (use apply() to invoke hijack function)\n''2007.02.25 [3.5.2.0]'' sync with AttachFilePlugin v3.5.2 (fix for version check for TW2.2)\n''2007.01.09 [3.5.1.0]'' sync with AttachFilePlugin v3.5.1\n''2006.11.30 [3.5.0.0]'' sync with AttachFilePlugin v3.5.0\n''2006.11.09 [3.4.6.0]'' sync with AttachFilePlugin v3.4.6 (real fix for TW2.1.3)\n''2006.11.08 [3.4.5.0]'' sync with AttachFilePlugin v3.4.5 (temporary fix for TW2.1.3)\n''2006.09.10 [3.4.4.0]'' sync with AttachFilePlugin v3.4.4\n''2006.07.24 [3.4.3.0]'' sync with AttachFilePlugin v3.4.3\n''2006.07.13 [3.4.2.0]'' sync with AttachFilePlugin v3.4.2\n''2006.06.15 [3.4.1.0]'' sync with AttachFilePlugin v3.4.1\n''2006.05.20 [3.4.0.0]'' sync with AttachFilePlugin v3.4.0\n''2006.05.13 [3.2.0.0]'' created from AttachFilePlugin v3.2.0\n<<<\n!!!!!Code\n***/\n//{{{\nif (config.macros.attach==undefined) config.macros.attach= { };\n//}}}\n//{{{\nif (config.macros.attach.isAttachment==undefined) config.macros.attach.isAttachment=function (title) {\n var tiddler = store.getTiddler(title);\n if (tiddler==undefined || tiddler.tags==undefined) return false;\n return (tiddler.tags.find("attachment")!=null);\n}\n//}}}\n\n//{{{\n// test for local file existence\n// Returns true/false without visible error display\n// Uses Components for FF and ActiveX FSO object for MSIE\nif (config.macros.attach.fileExists==undefined) config.macros.attach.fileExists=function(theFile) {\n var found=false;\n // DEBUG: alert('testing fileExists('+theFile+')...');\n if(window.Components) {\n try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }\n catch(e) { return false; } // security access denied\n var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);\n try { file.initWithPath(theFile); }\n catch(e) { return false; } // invalid directory\n found = file.exists();\n }\n else { // use ActiveX FSO object for MSIE \n var fso = new ActiveXObject("Scripting.FileSystemObject");\n found = fso.FileExists(theFile)\n }\n // DEBUG: alert(theFile+" "+(found?"exists":"not found"));\n return found;\n}\n//}}}\n\n//{{{\nif (config.macros.attach.getAttachment==undefined) config.macros.attach.getAttachment=function(title) {\n\n // extract embedded data, local and remote links (if any)\n var startmarker="---BEGIN_DATA---\sn";\n var endmarker="\sn---END_DATA---";\n var pos=0; var endpos=0;\n var text = store.getTiddlerText(title);\n var embedded="";\n var locallink="";\n var remotelink="";\n\n // look for embedded data, convert to data: URI\n if ((pos=text.indexOf(startmarker))!=-1 && (endpos=text.indexOf(endmarker))!=-1)\n embedded="data:"+(text.substring(pos+startmarker.length,endpos)).replace(/\sn/g,'');\n if (embedded.length && !config.browser.isIE)\n return embedded; // use embedded data if any... except for IE, which doesn't support data URI\n\n // no embedded data... fallback to local/remote reference links...\n\n // look for 'attachment link markers'\n if ((pos=text.indexOf("/%LOCAL_LINK%/"))!=-1)\n locallink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));\n if ((pos=text.indexOf("/%REMOTE_LINK%/"))!=-1)\n remotelink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));\n\n // document is being served remotely... use remote URL (if any) (avoids security alert)\n if (remotelink.length && document.location.protocol!="file:")\n return remotelink; \n\n // local link only... return link without checking file existence (avoids security alert)\n if (locallink.length && !remotelink.length) \n return locallink; \n\n // local link, check for file exist... use local link if found\n if (locallink.length) { \n if (this.fileExists(getLocalPath(locallink))) return locallink;\n // maybe local link is relative... add path from current document and try again\n var pathPrefix=document.location.href; // get current document path and trim off filename\n var slashpos=pathPrefix.lastIndexOf("/"); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf("\s\s"); \n if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);\n if (this.fileExists(getLocalPath(pathPrefix+locallink))) return locallink;\n }\n\n // no embedded data, no local (or not found), fallback to remote URL (if any)\n if (remotelink.length) \n return remotelink;\n\n return ""; // attachment URL doesn't resolve\n}\n//}}}\n//{{{\nif (config.macros.attach.init_formatters==undefined) config.macros.attach.init_formatters=function() {\n if (this.initialized) return;\n // find the formatter for "image" and replace the handler\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="image"; i++);\n if (i<config.formatters.length) config.formatters[i].handler=function(w) {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) // Simple bracketted link\n {\n var e = w.output;\n if(lookaheadMatch[5])\n {\n var link = lookaheadMatch[5];\n // ELS -------------\n if (!config.formatterHelpers.isExternalLink) // fixup for TW2.0.x\n var external=!store.tiddlerExists(link)&&!store.isShadowTiddler(link);\n else\n var external=config.formatterHelpers.isExternalLink(link);\n if (external)\n {\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title = config.macros.attach.linkTooltip + link;\n }\n else\n e = createExternalLink(w.output,link);\n }\n else \n e = createTiddlyLink(w.output,link,false,null,w.isStatic);\n // ELS -------------\n addClass(e,"imageLink");\n }\n var img = createTiddlyElement(e,"img");\n if(lookaheadMatch[1])\n img.align = "left";\n else if(lookaheadMatch[2])\n img.align = "right";\n if(lookaheadMatch[3])\n img.title = lookaheadMatch[3];\n img.src = lookaheadMatch[4];\n // ELS -------------\n if (config.macros.attach.isAttachment(lookaheadMatch[4]))\n img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);\n // ELS -------------\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n//}}}\n//{{{\n // find the formatter for "prettyLink" and replace the handler\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="prettyLink"; i++);\n if (i<config.formatters.length) {\n var v=version.major+.1*version.minor+.01*version.revision;\n if (v>=2.13) {\n config.formatters[i].handler=function(w) \n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var e;\n var text = lookaheadMatch[1];\n if(lookaheadMatch[3])\n {\n // Pretty bracketted link\n var link = lookaheadMatch[3];\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title=config.macros.attach.linkTooltip+link;\n }\n else e = (!lookaheadMatch[2] && config.formatterHelpers.isExternalLink(link))\n ? createExternalLink(w.output,link)\n : createTiddlyLink(w.output,link,false,null,w.isStatic);\n }\n else\n {\n e = createTiddlyLink(w.output,text,false,null,w.isStatic);\n }\n createTiddlyText(e,text);\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n } else { // FALLBACK for TW2.1.2 and earlier\n config.formatters[i].handler=function(w)\n {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var e;\n var text = lookaheadMatch[1];\n if (lookaheadMatch[2]) // Simple bracketted link\n {\n e = createTiddlyLink(w.output,text,false,null,w.isStatic);\n }\n else if(lookaheadMatch[3]) // Pretty bracketted link\n {\n var link = lookaheadMatch[4];\n // ELS -------------\n if (!config.formatterHelpers.isExternalLink) // fixup for TW2.0.x\n var external=!store.tiddlerExists(link)&&!store.isShadowTiddler(link);\n else\n var external=config.formatterHelpers.isExternalLink(link);\n if (external)\n {\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title = config.macros.attach.linkTooltip + link;\n }\n else\n e = createExternalLink(w.output,link);\n }\n else \n e = createTiddlyLink(w.output,link,false,null,w.isStatic);\n // ELS -------------\n }\n createTiddlyText(e,text);\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n } // END FALLBACK\n } // if "prettyLink" formatter found\n this.initialized=true;\n}\n//}}}\n//{{{\nconfig.macros.attach.init_formatters(); // load time init\n//}}}\n//{{{\nif (TiddlyWiki.prototype.coreGetRecursiveTiddlerText==undefined) {\n TiddlyWiki.prototype.coreGetRecursiveTiddlerText = TiddlyWiki.prototype.getRecursiveTiddlerText;\n TiddlyWiki.prototype.getRecursiveTiddlerText = function(title,defaultText,depth) {\n return config.macros.attach.isAttachment(title)?\n config.macros.attach.getAttachment(title):this.coreGetRecursiveTiddlerText.apply(this,arguments);\n }\n}\n//}}}
!Ações por Individuais (seguindo Henrique Ortega)\n\nEstas ações foi apreesentadas por Henrique Ortega (UNICAMPO), e será um base para iniçiar os estudos a respeito esta tema.\n\n\n\n
/***\n|Name|AttachFilePlugin|\n|Source|http://www.TiddlyTools.com/#AttachFilePlugin|\n|Version|3.5.3|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin,macro|\n|Requires||\n|Overrides|'image' and 'prettyLink' formatters, TiddlyWiki.prototype.getRecursiveTiddlerText()|\n|Description|Store binary files as base64-encoded tiddlers with fallback links for separate local and/or remote file storage|\n\nStore or link binary files (such as jpg, gif, pdf or even mp3) within your TiddlyWiki document and then use them as images or links from within your tiddler content. Binary file content can be stored in three different locations:\n<<<\n#embedded in the attachment tiddler (encoded as base64)\n#on your filesystem (a 'local link' path/filename)\n#on a web server (a 'remote link' URL)\n<<<\nThe plugin creates an "attachment tiddler" for each file you attach. Regardless of where you store the binary content, your document can refer to the attachment tiddler rather than using a direct file or URL reference in your embedded image or external links, so that changing document locations will not require updating numerous tiddlers or copying files from one system to another.\n\n@@display:block;font-size:8pt;line-height:110%;Note: although you can edit an attachment tiddler, ''don't change any of the encoded content below the attachment header'', as it has been prepared for use in the rest of your document, and even changing a single character can make the attachment unusable. //If needed, you ''can'' edit the header information or even the MIME type declaration in the attachment data, but be very careful not to change any of the base64-encoded binary data.//@@\n!!!!!Inline interface (live)\n><<attach demoID>>\n!!!!!Usage\n<<<\nWhen you attach a file, a tiddler (tagged with<<tag attachment>>) is generated (using the source filename as the tiddler's title). The tiddler contains //''base64 text-encoded binary data''//, surrounded by {{{/%...%/}}} comment markers (so they are not visible when viewing the tiddler). The tiddler also includes summary details about the file: when it was attached, by whom, etc. and, if the attachment is an image file (jpg, gif, or png), the image is automatically displayed below the summary information.\n\nWith embedded data, your TW document can be completely self-contained...unfortunately, embedding just a few moderately-sized binary files using base64 text-encoding can dramatically increase the size of your document. To avoid this problem, you can create attachment tiddlers that define external local filesystem (file://) and/or remote web server (http://) 'reference' links, without embedding the binary data directly in the tiddler (i.e., uncheck "embed data" in the 'control panel').\n\nThese links provide an alternative source for the binary data: if embedded data is not found (or you are running on Internet Explorer, which does not currently support using embedded data), then the plugin tries the local filesystem reference. If a local file is not found, then the remote reference (if any) is used. This "fallback" approach also lets you 'virtualize' the external links in your document, so that you can access very large binary content such as PDFs, MP3's, and even *video* files, by using just a 'remote reference link' without embedding any data or downloading huge files to your hard disk.\n\nOf course, when you //do// download an attached file, the local copy will be used instead of accessing a remote server each time, thereby saving bandwidth and allowing you to 'go mobile' without having to edit any tiddlers to alter the link locations...\n\nLastly, though not completed (but nearly there), the plugin includes an integrated 'uploader' that will let you create a 'remote link' attachment tiddler AND transfer the local file to a remote server location in the same step!\n<<<\n!!!!!Syntax / Examples\n<<<\nTo embed attached files as images or link to them from other tiddlers, use the standard ~TiddlyWiki image syntax ({{{[img[tooltip|filename]]}}}), linked image syntax ({{{[img[tooltip|filename][tiddlername]]}}}) , or "external link" syntax ({{{[[text|URL]]}}}), replacing the filename or URL that is normally entered with the title of an attachment tiddler.\n\nembedded image data:\n>{{{[img[Meow|AttachFileSample]]}}}\n>[img[Meow|AttachFileSample]]\nembedded image data with link to larger remote image:\n>{{{[img[click for larger view|AttachFileSample][AttachFileSample2]]}}}\n>[img[click for larger view|AttachFileSample][AttachFileSample2]]\n'external' link to embedded image data:\n>{{{[[click to view attachment|AttachFileSample]]}}}\n>[[click to view attachment|AttachFileSample]]\n'external' link to remote image:\n>{{{[[click to view attachment|AttachFileSample2]]}}}\n>[[click to view attachment|AttachFileSample2]]\nregular ~TiddlyWiki links to attachment tiddlers:\n>{{{[[AttachFileSample]]}}} [[AttachFileSample]]\n>{{{[[AttachFileSample2]]}}} [[AttachFileSample2]]\n<<<\n!!!!!Defining MIME types and Server Scripts\n<<<\nWhen you select a source file, a ''[[MIME|http://en.wikipedia.org/wiki/MIME]]'' file type is automatically suggested, based on filename extension. The AttachFileMIMETypes tiddler defines the list of MIME types that will be recognized by the plugin. Each MIME type definition consists of exactly two lines of text: the official MIME type designator (e.g., "text/plain", "image/gif", etc.), and a space-separated list of file extensions associated with that type. List entries are separated by "----" (horizontal rules).\n\nTo upload files, a script must first be installed on a remote server so it can receive and store the files online. The AttachFileServerScripts tiddler defines the list of ''server scripts'' that will be available for you to select from when attaching and uploading a file. The list format is as described above for MIME types, except that the first line is simply the text that will appear in the ''server scripts'' droplist, while the second line is the fully-qualified URL for submitting files to that server (e.g., {{{http://www.xyz.com/path/to/cgi-bin/upload.cgi}}} or something similar).\n<<<\n!!!!!Known Limitations\n<<<\n* ''Internet Explorer does not support the use of //embedded// data for TW file attachments. However, you can still use the local/remote link definitions to create file attachments that are stored externally''\n## //while it is easy to read text files, reading binary files is not supported by IE's FileSystemObject (FSO) methods, and other file I/O techniques are subject to security barriers or require additional MS proprietary technologies (like ASP or VB) that make implementation more difficult.//\n## //IE does not support the data: URI scheme, and cannot render the embedded images or links. This would seem to be an insurmountable shortcoming in the browser. Let's hope it is added in the next version...//\n<<<\n!!!!!Installation\n<<<\nImport (or copy/paste) the following tiddlers into your document:\n* AttachFilePlugin (tagged with <<tag systemConfig>>)\n* AttachFilePluginFormatters ("distribution library") (tagged with <<tag systemConfig>>)\n* AttachFileSample and AttachFileSample2 //(sample attachment tiddler containing an image file)//\n* AttachFileMIMETypes //(defines known binary file types)//\n* AttachFileServerScripts //(remote upload server locations)//\n<<<\n!!!!!Revision History\n<<<\n''2007.03.01 [3.5.3]'' use apply() to invoke hijacked function\n''2007.02.25 [3.5.2]'' in hijack of "prettyLink", fix version check for TW2.2 compatibility (prevent incorrect use of fallback handler)\n''2007.01.09 [3.5.1]'' onClickAttach() refactored to create separate createAttachmentTiddler() API for use with FileDropPluginHandlers\n|please see [[AttachFilePluginHistory]] for additional revision details|\n''2005.07.20 [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// // version\n//{{{\nversion.extensions.attach = {major: 3, minor: 5, revision: 3, date: new Date(2007,3,1)};\n//}}}\nconfig.macros.attach = {\n// // configuration\n//{{{\n hideUpload: false,\n//}}}\n// // lingo\n//{{{\n label: "attach file",\n tooltip: "Attach a file to this document",\n linkTooltip: "Attachment: ",\n\n scriptList: "AttachFileServerScripts",\n typeList: "AttachFileMIMETypes",\n\n titlePrompt: " enter tiddler title...",\n MIMEPrompt: "<option value=''>select MIME type...</option><option value='editlist'>[edit list...]</option>",\n localPrompt: " enter local path/filename...",\n URLPrompt: " enter remote URL...",\n scriptPrompt: "<option value=''>select server script...</option><option value='editlist'>[edit list...]</option>",\n targetPrompt: " enter remote path/filename...",\n\n tiddlerErr: "Please enter a tiddler title",\n sourceErr: "Please enter a source path/filename",\n storageErr: "Please select a storage method: embedded, local or remote",\n MIMEErr: "Unrecognized file format. Please select a MIME type",\n localErr: "Please enter a local path/filename",\n URLErr: "Please enter a remote URL",\n scriptErr: "Please select a server script",\n targetErr: "Please enter a remote target path/filename",\n fileErr: "Invalid path/file or file not found",\n\n sourceReport: "| source file:|{{{%0}}}|\sn",\n nosourceReport: "| source file:|//none//|\sn",\n dateReport: "| attached on:|%0 by %1|\sn",\n notesReport: "| description:|%0|\sn",\n dataReport: "| embedded:|[[%0|%0]] - {{{type=%1, size=%2 bytes, encoded=%3 bytes}}}|\sn",\n nodataReport: "| embedded:|//none//|\sn",\n localReport: "| local file:|/%LOCAL_LINK%/[[%0|%1]]|\sn",\n nolocalReport: "| local file:|//none//|\sn",\n URLReport: "| remote link:|/%REMOTE_LINK%/[[%0|%0]]|\sn",\n noURLReport: "| remote link:|//none//|\sn",\n\n uploadReport: "upload\sn<<<\sn__server script__\sn''%0''\sn{{{%1}}}\sn__remote path/filename__\sn{{{%2}}}\sn__transfer log__\sn%3/%RESULT%/\sn<<<\sn",\n\n imageReport: "image\sn<<<\snusage: {{{[img[tooltip|%0]] or [img[tooltip|%0][link]]}}}\sn[img[tooltip|%0]]\sn<<<\sn",\n dataBlock: "\sn/% DO NOT EDIT BELOW THIS POINT\sn---BEGIN_DATA---\sn%0;base64,\sn%1\sn---END_DATA---\sn%/",\n//}}}\n// // macro definition\n//{{{\n handler:\n function(place,macroName,params) {\n if (params && !params[0]) { createTiddlyButton(place,this.label,this.tooltip,this.toggleAttachPanel); return; }\n var id=params.shift();\n this.createAttachPanel(place,id+"_attachPanel",params);\n document.getElementById(id+"_attachPanel").style.position="static";\n document.getElementById(id+"_attachPanel").style.display="block";\n },\n//}}}\n//{{{\n createAttachPanel:\n function(place,panel_id,params) {\n if (!panel_id || !panel_id.length) var panel_id="_attachPanel";\n // remove existing panel (if any)\n var panel=document.getElementById(panel_id); if (panel) panel.parentNode.removeChild(panel);\n // set styles for this panel\n setStylesheet(this.css,"attachPanel");\n // create new panel\n var title=""; if (params && params[0]) title=params.shift();\n var types=this.MIMEPrompt+this.formatListOptions(store.getTiddlerText(this.typeList)); // get MIME types\n var scripts=this.scriptPrompt+this.formatListOptions(store.getTiddlerText(this.scriptList)); // get server scripts\n panel=createTiddlyElement(place,"span",panel_id,"attachPanel",null);\n var html=this.html.replace(/%id%/g,panel_id);\n html=html.replace(/%title%/g,title);\n html=html.replace(/%disabled%/g,title.length?"disabled":"");\n html=html.replace(/%types%/g,types);\n html=html.replace(/%scripts%/g,scripts);\n panel.innerHTML=html;\n return panel;\n },\n//}}}\n//{{{\n toggleAttachPanel:\n function (e) {\n if (!e) var e = window.event;\n var parent=resolveTarget(e).parentNode;\n var panel = document.getElementById("_attachPanel");\n if (panel==undefined || panel.parentNode!=parent)\n panel=config.macros.attach.createAttachPanel(parent,"_attachPanel");\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 e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n },\n//}}}\n//{{{\n formatListOptions:\n function(text,getparams) {\n if (!text || !text.trim().length) return "";\n // get server script list content from tiddler\n var parts=text.split("\sn----\sn");\n var out="";\n this.scriptParams=["","",""]; // first 3 list items: blank, prompt, editlist\n for (var p=0; p<parts.length; p++) {\n var lines=parts[p].split("\sn");\n var label=lines.shift(); // 1st line=display text\n var URL=lines.shift(); // 2nd line=item value\n var params=lines.join("\sn").replace(/<<<\sn/g,"").replace(/\sn<<</g,""); // extra lines=script params inside blockquotes\n this.scriptParams.push(params?params:"");\n out +='<option value="%1">%0</option>'.format([label,URL]);\n }\n return out;\n },\n//}}}\n// // interface definition\n//{{{\n css:\n ".attachPanel { display: none; position:absolute; z-index:10; width:35em; right:105%; top:0em;\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 .attachPanel form { display:inline;border:0;padding:0;margin:0; }\s\n .attachPanel select { width:99%;margin:0px;font-size:8pt;line-height:110%;}\s\n .attachPanel input { width:98%;padding:0px;margin:0px;font-size:8pt;line-height:110%}\s\n .attachPanel textarea { width:98%;margin:0px;height:2em;font-size:8pt;line-height:110%}\s\n .attachPanel table { width:100%;border:0;margin:0;padding:0;color:inherit; }\s\n .attachPanel tbody, .attachPanel tr, .attachPanel td { border:0;margin:0;padding:0;color:#000; }\s\n .attachPanel .box { border:1px solid black; padding:.3em; margin:.3em 0px; background:#f8f8f8; -moz-border-radius:5px; }\s\n .attachPanel .chk { width:auto;border:0; }\s\n .attachPanel .btn { width:auto; }\s\n .attachPanel .btn2 { width:49%; }\s\n ",\n//}}}\n//{{{\n html:\n '<form>\s\n attach from source file <input type="file" name="source" size=56 onChange="config.macros.attach.onChangeSource(this)">\s\n <div class="box">\s\n <table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n embed data <input type=checkbox class=chk name="useData"\s\n onclick="if (!this.form.MIMEType.value.length)\s\n this.form.MIMEType.selectedIndex=this.checked?1:0; "> \s\n </td><td style="border:0">\s\n <select size=1 name="MIMEType" \s\n onchange="this.title=this.value; if (this.value==\s'editlist\s')\s\n { this.selectedIndex=this.form.useData.checked?1:0; story.displayTiddler(null,config.macros.attach.typeList,2); return; }">\s\n <option value=""></option>\s\n %types%\s\n </select>\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n local link <input type=checkbox class=chk name="useLocal"\s\n onclick="this.form.local.value=this.form.local.defaultValue=this.checked?config.macros.attach.localPrompt:\s'\s';"> \s\n </td><td style="border:0">\s\n <input type=text name="local" size=15 autocomplete=off value=""\s\n onchange="this.form.useLocal.checked=this.value.length" \s\n onkeyup="this.form.useLocal.checked=this.value.length" \s\n onfocus="if (!this.valuelength) this.value=config.macros.attach.localPrompt; this.select()">\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n remote link <input type=checkbox class=chk name="useURL"\s\n onclick="this.form.URL.value=this.form.URL.defaultValue=this.checked?config.macros.attach.URLPrompt:\s'\s';\s\n config.macros.attach.toggleUploadControls(\s'%id%\s',this.checked);"> \s\n </td><td style="border:0">\s\n <input type=text name="URL" size=15 autocomplete=off value=""\s\n onfocus="if (!this.value.length) this.value=config.macros.attach.URLPrompt; this.select()"\s\n onchange="this.form.useURL.checked=this.value.length;\s\n config.macros.attach.toggleUploadControls(\s'%id%\s',this.value.length);"\s\n onkeyup="this.form.useURL.checked=this.value.length;\s\n config.macros.attach.toggleUploadControls(\s'%id%\s',this.value.length);">\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n <div id="%id%_upcheck" style="display:none">\s\n upload file <input type=checkbox class=chk name="upload"\s\n onclick="this.form.uploadScript.selectedIndex=this.checked?1:0;\s\n this.form.uploadScript.title=\s'\s';\s\n this.form.uploadTarget.disabled=!this.checked;\s\n this.form.uploadTarget.value=this.form.uploadTarget.defaultValue=this.checked?config.macros.attach.targetPrompt:\s'\s';\s"> \s\n </div>\s\n </td><td style="border:0">\s\n <div id="%id%_uplist" style="display:none">\s\n <select size=1 name="uploadScript"\s\n onchange="this.title=this.value; if (this.value==\s'editlist\s')\s\n { this.selectedIndex=this.form.upload.checked?1:0; story.displayTiddler(null,config.macros.attach.scriptList,2); return; }\s\n this.form.upload.checked=this.value.length;\s\n if (!this.form.uploadTarget.value.length && this.value.length)\s\n this.form.uploadTarget.value=this.form.uploadTarget.defaultValue=config.macros.attach.targetPrompt;\s\n this.form.uploadTarget.disabled=!this.value.length;">\s\n <option value=""></option>\s\n %scripts%\s\n </select>\s\n </div>\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n <div id="%id%_saveas" style="display:none">save as </div>\s\n </td><td style="border:0">\s\n <input type=text name="uploadTarget" id="%id%_uptarget" size=15 autocomplete=off value="" disabled\s\n onfocus="if (!this.value.length) this.value=config.macros.attach.targetPrompt; this.select()" style="display:none">\s\n </td></tr></table>\s\n </div>\s\n <table style="border:0"><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n attach as \s\n </td><td style="border:0" colspan=2>\s\n <input type=text name="tiddlertitle" size=15 autocomplete=off value="%title%"\s\n onkeyup="if (!this.value.length) { this.value=config.macros.attach.titlePrompt; this.select(); }"\s\n onfocus="if (!this.value.length) this.value=config.macros.attach.titlePrompt; this.select()" %disabled%>\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n description \s\n </td><td style="border:0" colspan=2>\s\n <input type=text name="notes" size=15 autocomplete=off>\s\n </td></tr><tr style="border:0"><td style="border:0;text-align:right;width:1%;white-space:nowrap">\s\n add tags \s\n </td><td style="border:0">\s\n <input type=text name="tags" size=15 autocomplete=off value="" onfocus="this.select()">\s\n </td><td style="width:40%;text-align:right;border:0">\s\n <input type=button class=btn2 value="attach"\s\n onclick="config.macros.attach.onClickAttach(this)"><!--\s\n --><input type=button class=btn2 value="close"\s\n onclick="var panel=document.getElementById(\s'%id%\s'); if (panel) panel.parentNode.removeChild(panel);">\s\n </td></tr></table>\s\n </form>',\n//}}}\n// // control processing\n//{{{\n onChangeSource:\n function(here) {\n var form=here.form;\n var list=form.MIMEType;\n var theFilename = form.source.value;\n var theExtension = theFilename.substr(theFilename.lastIndexOf('.')).toLowerCase();\n for (var i=0; i<list.options.length; i++)\n if (list.options[i].value.indexOf(theExtension)!=-1) {\n list.selectedIndex = i;\n form.useData.checked = true;\n form.useLocal.checked = true;\n form.local.value = theFilename;\n break;\n }\n theFilename=theFilename.replace(/\s\s/g,"/"); // fixup: change \s to /\n if (!form.tiddlertitle.disabled)\n form.tiddlertitle.value=theFilename.substr(theFilename.lastIndexOf('/')+1); // get tiddlername from filename\n },\n//}}}\n//{{{\n toggleUploadControls:\n function(id,show) {\n if (config.macros.attach.hideUpload) return;\n document.getElementById(id+'_upcheck').style.display\n =document.getElementById(id+'_uplist').style.display\n =document.getElementById(id+'_saveas').style.display\n =document.getElementById(id+'_uptarget').style.display\n =show?'block':'none';\n },\n//}}}\n//{{{\n onClickAttach:\n function (here) {\n clearMessage();\n // get input values\n var form=here.form;\n var theDate=(new Date()).formatString(config.macros.timeline.dateFormat);\n var theSource = form.source.value!=form.source.defaultValue?form.source.value:"";\n var theTitle=form.tiddlertitle.value;\n var theLocal = form.local.value!=form.local.defaultValue?form.local.value:"";\n var theURL = form.URL.value!=form.URL.defaultValue?form.URL.value:"";\n var theNotes = form.notes.value;\n var theTags = "attachment excludeMissing "+form.tags.value;\n var useData=form.useData.checked;\n var useLocal=form.useLocal.checked;\n var useURL=form.useURL.checked;\n var upload=form.upload.checked;\n var theMIMEType = form.MIMEType.value.length?form.MIMEType.options[form.MIMEType.selectedIndex].text:"";\n // validate checkboxes and get filename\n if (useData||upload) {\n if (theSource.length) { if (!theLocation) var theLocation=theSource; }\n else { alert(this.sourceErr); form.source.focus(); return false; }\n }\n if (useLocal) {\n if (theLocal.length) { if (!theLocation) var theLocation = theLocal; }\n else { alert(this.localErr); form.local.focus(); return false; }\n }\n if (useURL) {\n if (theURL.length) { if (!theLocation) var theLocation = theURL; }\n else { alert(this.URLErr); form.URL.focus(); return false; }\n }\n if (!(useData||useLocal||useURL))\n { form.useData.focus(); alert(this.storageErr); return false; }\n if (!theLocation)\n { form.source.focus(); alert(this.sourceErr); return false; }\n if (!theTitle || !theTitle.trim().length || theTitle==this.titlePrompt)\n { form.tiddlertitle.focus(); alert(this.tiddlerErr); return false; }\n if (upload) {\n var theScript = form.uploadScript.value!=form.uploadScript.defaultValue?form.uploadScript.value:"";\n if (!theScript.length) { alert(this.scriptErr); form.uploadScript.focus(); return false; }\n var theServer = form.uploadScript.options[form.uploadScript.selectedIndex].text;\n var theParams = this.scriptParams[form.uploadScript.selectedIndex];\n var theTarget = form.uploadTarget.value!=form.uploadTarget.defaultValue?form.uploadTarget.value:"";\n if (!theTarget.length) { alert(this.targetErr); form.uploadTarget.focus(); return false; }\n }\n // if not already selected, determine MIME type based on filename extension (if any)\n if (!theMIMEType.length && theLocation.lastIndexOf('.')!=-1) {\n var theExt = theLocation.substr(theLocation.lastIndexOf('.')).toLowerCase();\n var theList=form.MIMEType;\n for (var i=0; i<theList.options.length; i++)\n if (theList.options[i].value.indexOf(theExt)!=-1)\n { var theMIMEType=theList.options[i].text; theList.selectedIndex=i; break; }\n }\n // attach the file\n return this.createAttachmentTiddler(theSource, theDate, theNotes, theTags, theTitle,\n useData, useLocal, useURL, theLocal, theURL, theMIMEType, upload);\n },\n getMIMEType:\n function(src,def) {\n var ext = src.substr(src.lastIndexOf('.')).toLowerCase();\n var list=store.getTiddlerText(this.typeList);\n if (!list || !list.trim().length) return def;\n // get server script list content from tiddler\n var parts=list.split("\sn----\sn");\n for (var p=0; p<parts.length; p++) {\n var lines=parts[p].split("\sn");\n var mime=lines.shift(); // 1st line=MIME type\n var match=lines.shift(); // 2nd line=matching extensions\n if (match.indexOf(ext)!=-1) return mime;\n }\n return def;\n },\n createAttachmentTiddler:\n function (theSource, theDate, theNotes, theTags, theTitle,\n useData, useLocal, useURL, theLocal, theURL, theMIMEType, upload) {\n // encode the data\n if (useData) {\n if (!theMIMEType.length) {\n alert(this.MIMEErr);\n form.MIMEType.selectedIndex=1; form.MIMEType.focus();\n return false;\n }\n var theData = this.readFile(theSource); if (!theData) { return false; }\n displayMessage('encoding '+theSource);\n var theEncoded = this.encodeBase64(theData);\n displayMessage('file size='+theData.length+' bytes, encoded size='+theEncoded.length+' bytes');\n }\n // upload the file\n if (upload)\n var uploadresult=this.uploadFile(theTitle,theSource,theMIMEType,theServer,theScript,theParams,theTarget);\n // generate tiddler and refresh\n var theText = "";\n theText +=theSource.length?this.sourceReport.format([theSource]):this.nosourceReport;\n theText +=this.dateReport.format([theDate,config.options.txtUserName]);\n theText +=theNotes.length?this.notesReport.format([theNotes]):"";\n theText +=useData?this.dataReport.format([theTitle,theMIMEType,theData.length,theEncoded.length]):this.nodataReport;\n theText +=useLocal?this.localReport.format([theLocal,'file:///'+theLocal.replace(/\s\s/g,"/")]):this.nolocalReport;\n theText +=useURL?this.URLReport.format([theURL]):this.noURLReport;\n theText +=(theMIMEType.substr(0,5)=="image")?this.imageReport.format([theTitle]):"";\n theText +=upload?uploadresult:"";\n theText +=useData?this.dataBlock.format([theMIMEType,theEncoded]):"";\n store.saveTiddler(theTitle,theTitle,theText,config.options.txtUserName,new Date(),theTags);\n var panel=document.getElementById("attachPanel"); if (panel) panel.style.display="none";\n story.displayTiddler(null,theTitle);\n story.refreshTiddler(theTitle,null,true);\n displayMessage('attached "'+theTitle+'"');\n return true;\n },\n//}}}\n// // base64 conversion\n//{{{\n encodeBase64:\n function (theData) {\n if (!theData) return null;\n // encode as base64\n var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n var out = ""; //This is the output\n var chr1, chr2, chr3 = ""; //These are the 3 bytes to be encoded\n var enc1, enc2, enc3, enc4 = ""; //These are the 4 encoded bytes\n for (var count=0,i=0; i<theData.length; )\n {\n chr1 = theData.charCodeAt(i++); //Grab the first byte\n chr2 = theData.charCodeAt(i++); //Grab the second byte\n chr3 = theData.charCodeAt(i++); //Grab the third byte\n enc1 = chr1 >> 2;\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n enc4 = chr3 & 63;\n if (isNaN(chr2))\n enc3 = enc4 = 64;\n else if (isNaN(chr3))\n enc4 = 64;\n out += keyStr.charAt(enc1)+keyStr.charAt(enc2)+keyStr.charAt(enc3)+keyStr.charAt(enc4);\n chr1 = chr2 = chr3 = "";\n enc1 = enc2 = enc3 = enc4 = "";\n count+=4; if (count>60) { out+='\sn'; count=0; } // add line break every 60 chars for readability\n }\n return out;\n },\n//}}}\n// // I/O functions\n//{{{\n readFile:\n function(filePath) {\n if(!window.Components) { return null; }\n try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }\n catch(e) { alert("access denied: "+filePath); return null; }\n var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);\n try { file.initWithPath(filePath); } catch(e) { alert("cannot read file - invalid path: "+filePath); return null; }\n if (!file.exists()) { alert("cannot read file - not found: "+filePath); return null; }\n var inputStream = Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(Components.interfaces.nsIFileInputStream);\n inputStream.init(file, 0x01, 00004, null);\n var bInputStream = Components.classes["@mozilla.org/binaryinputstream;1"].createInstance(Components.interfaces.nsIBinaryInputStream);\n bInputStream.setInputStream(inputStream);\n return(bInputStream.readBytes(inputStream.available()));\n },\n//}}}\n//{{{\n writeFile:\n function(filepath,data) {\n // TBD: decode base64 and write data to specified local path/filename\n return(false);\n },\n//}}}\n//{{{\n uploadFile:\n function(title,source,MIMEType,server,URL,scriptparams,target) {\n displayMessage("begin upload: \s""+title+"\s"");\n if (URL==undefined || !URL.length)\n return this.uploadReport.format([server,URL,target,"error: missing script URL"]);\n var x; // XML object\n try {x = new XMLHttpRequest()}\n catch(e) {\n try {x = new ActiveXObject("Msxml2.XMLHTTP")}\n catch (e) {\n try {x = new ActiveXObject("Microsoft.XMLHTTP")}\n catch (e) { return this.uploadReport.format([server,URL,target,"error: could not create XMLHttpRequest object"]); }\n }\n }\n var starttime=new Date();\n x.onreadystatechange = function() {\n if (x.readyState == 4) {\n var endtime=new Date();\n var elapsed=(endtime-starttime+1)/1000;\n displayMessage("end upload: \s""+title+"\s" ("+elapsed+" seconds)");\n var response="\sn''"+endtime.formatString("DD MMM YYYY 0hh:0mm:0ss")+"'' - upload ended (elapsed="+elapsed+" seconds).\sn";\n; response+="status code="+x.status+"\snserver response:\sn{{{\sn"+x.responseText+"\sn}}}\sn";\n var tiddler=store.getTiddler(title);\n if (tiddler) {\n var marker="/%RESULT%/"; var pos=tiddler.text.indexOf(marker);\n if (pos!=-1) {\n tiddler.set(null,tiddler.text.substr(0,pos)+response+tiddler.text.substr(pos+marker.length));\n story.displayTiddler(null,title); story.refreshTiddler(title,null,true); store.setDirty(true);\n } \n }\n }\n }\n if ((document.location.protocol=="file:") && (typeof(netscape)!="undefined")) { // UniversalBrowserRead only works from a local file context\n try { netscape.security.PrivilegeManager.enablePrivilege('UniversalBrowserRead')}\n catch (e) { displayMessage(e.description?e.description:e.toString()); }\n }\n try {\n var data=this.readFile(source);\n if (!data) return this.uploadReport.format([server,URL,target,"could not read local source file"]);\n scriptparams=scriptparams.replace(/%TARGET%/g,target).replace(/%TYPE%/g,MIMEType).replace(/%SIZE%/g,data.length);\n if (scriptparams.indexOf("\sn")==-1) { // single-line params=GET\n x.open("GET",URL,true);\n scriptparams=scriptparams.replace(/TA%/g,encodeURIComponent(data));\n x.setRequestHeader('Content-type','application/x-www-form-urlencoded');\n }\n else { // multi-line params=POST\n x.open("POST",URL,true);\n var boundary="----------AttachFilePluginDataBoundary----------";\n scriptparams="\sn"+scriptparams.replace(/%BOUNDARY%/g,boundary).replace(/TA%/g,data)+"\sn";\n x.setRequestHeader('Content-Length',scriptparams.length);\n x.setRequestHeader('Content-Type','multipart/form-data; boundary='+boundary);\n }\n x.send(scriptparams);\n // DEBUG alert("params\sn-----\sn"+scriptparams+"\sn-----\sn"); // wffl DEBUG\n }\n catch (e) { displayMessage(e.description?e.description:e.toString()); }\n var response="''"+starttime.formatString("DD MMM YYYY 0hh:0mm:0ss")+"'' - upload started...";\n return this.uploadReport.format([server,URL,target,response]);\n }\n};\n//}}}\n\n/***\n!!!!!Formatters\n|NOTE: These functions are also defined separately in a small, "run-time library" plugin: AttachFilePluginFormatters, which provides "stand-alone" processing for //rendering// attachment tiddlers, but does not include the AttachTiddlers control panel and supporting functions. To reduce your document size, you can include AttachFilePluginFormatters ''instead of'' AttachFilePlugin when distributing documents that contain attachments, as long you don't intend to create any new attachment tiddlers to your document.|\n\n''Extends wikify() formatters to process attachment tiddler references''\n* embedded images: {{{[img[tooltip|image]]}}}\n* linked embedded images: {{{[img[tooltip|image][link]]}}}\n* external/"pretty" links: {{{[[label|link]]}}}\n\n***/\n//{{{\nif (config.macros.attach==undefined) config.macros.attach= { };\n//}}}\n//{{{\nif (config.macros.attach.isAttachment==undefined) config.macros.attach.isAttachment=function (title) {\n var tiddler = store.getTiddler(title);\n if (tiddler==undefined || tiddler.tags==undefined) return false;\n return (tiddler.tags.find("attachment")!=null);\n}\n//}}}\n\n//{{{\n// test for local file existence\n// Returns true/false without visible error display\n// Uses Components for FF and ActiveX FSO object for MSIE\nif (config.macros.attach.fileExists==undefined) config.macros.attach.fileExists=function(theFile) {\n var found=false;\n // DEBUG: alert('testing fileExists('+theFile+')...');\n if(window.Components) {\n try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); }\n catch(e) { return false; } // security access denied\n var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);\n try { file.initWithPath(theFile); }\n catch(e) { return false; } // invalid directory\n found = file.exists();\n }\n else { // use ActiveX FSO object for MSIE \n var fso = new ActiveXObject("Scripting.FileSystemObject");\n found = fso.FileExists(theFile)\n }\n // DEBUG: alert(theFile+" "+(found?"exists":"not found"));\n return found;\n}\n//}}}\n\n//{{{\nif (config.macros.attach.getAttachment==undefined) config.macros.attach.getAttachment=function(title) {\n\n // extract embedded data, local and remote links (if any)\n var startmarker="---BEGIN_DATA---\sn";\n var endmarker="\sn---END_DATA---";\n var pos=0; var endpos=0;\n var text = store.getTiddlerText(title);\n var embedded="";\n var locallink="";\n var remotelink="";\n\n // look for embedded data, convert to data: URI\n if ((pos=text.indexOf(startmarker))!=-1 && (endpos=text.indexOf(endmarker))!=-1)\n embedded="data:"+(text.substring(pos+startmarker.length,endpos)).replace(/\sn/g,'');\n if (embedded.length && !config.browser.isIE)\n return embedded; // use embedded data if any... except for IE, which doesn't support data URI\n\n // no embedded data... fallback to local/remote reference links...\n\n // look for 'attachment link markers'\n if ((pos=text.indexOf("/%LOCAL_LINK%/"))!=-1)\n locallink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));\n if ((pos=text.indexOf("/%REMOTE_LINK%/"))!=-1)\n remotelink=text.substring(text.indexOf("|",pos)+1,text.indexOf("]]",pos));\n\n // document is being served remotely... use remote URL (if any) (avoids security alert)\n if (remotelink.length && document.location.protocol!="file:")\n return remotelink; \n\n // local link only... return link without checking file existence (avoids security alert)\n if (locallink.length && !remotelink.length) \n return locallink; \n\n // local link, check for file exist... use local link if found\n if (locallink.length) { \n if (this.fileExists(getLocalPath(locallink))) return locallink;\n // maybe local link is relative... add path from current document and try again\n var pathPrefix=document.location.href; // get current document path and trim off filename\n var slashpos=pathPrefix.lastIndexOf("/"); if (slashpos==-1) slashpos=pathPrefix.lastIndexOf("\s\s"); \n if (slashpos!=-1 && slashpos!=pathPrefix.length-1) pathPrefix=pathPrefix.substr(0,slashpos+1);\n if (this.fileExists(getLocalPath(pathPrefix+locallink))) return locallink;\n }\n\n // no embedded data, no local (or not found), fallback to remote URL (if any)\n if (remotelink.length) \n return remotelink;\n\n return ""; // attachment URL doesn't resolve\n}\n//}}}\n//{{{\nif (config.macros.attach.init_formatters==undefined) config.macros.attach.init_formatters=function() {\n if (this.initialized) return;\n // find the formatter for "image" and replace the handler\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="image"; i++);\n if (i<config.formatters.length) config.formatters[i].handler=function(w) {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) // Simple bracketted link\n {\n var e = w.output;\n if(lookaheadMatch[5])\n {\n var link = lookaheadMatch[5];\n // ELS -------------\n if (!config.formatterHelpers.isExternalLink) // fixup for TW2.0.x\n var external=!store.tiddlerExists(link)&&!store.isShadowTiddler(link);\n else\n var external=config.formatterHelpers.isExternalLink(link);\n if (external)\n {\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title = config.macros.attach.linkTooltip + link;\n }\n else\n e = createExternalLink(w.output,link);\n }\n else \n e = createTiddlyLink(w.output,link,false,null,w.isStatic);\n // ELS -------------\n addClass(e,"imageLink");\n }\n var img = createTiddlyElement(e,"img");\n if(lookaheadMatch[1])\n img.align = "left";\n else if(lookaheadMatch[2])\n img.align = "right";\n if(lookaheadMatch[3])\n img.title = lookaheadMatch[3];\n img.src = lookaheadMatch[4];\n // ELS -------------\n if (config.macros.attach.isAttachment(lookaheadMatch[4]))\n img.src=config.macros.attach.getAttachment(lookaheadMatch[4]);\n // ELS -------------\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n//}}}\n//{{{\n // find the formatter for "prettyLink" and replace the handler\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="prettyLink"; i++);\n if (i<config.formatters.length) {\n var v=version.major+.1*version.minor+.01*version.revision;\n if (v>=2.13) {\n config.formatters[i].handler=function(w) \n {\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source);\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var e;\n var text = lookaheadMatch[1];\n if(lookaheadMatch[3])\n {\n // Pretty bracketted link\n var link = lookaheadMatch[3];\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title=config.macros.attach.linkTooltip+link;\n }\n else e = (!lookaheadMatch[2] && config.formatterHelpers.isExternalLink(link))\n ? createExternalLink(w.output,link)\n : createTiddlyLink(w.output,link,false,null,w.isStatic);\n }\n else\n {\n e = createTiddlyLink(w.output,text,false,null,w.isStatic);\n }\n createTiddlyText(e,text);\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n } else { // FALLBACK for TW2.1.2 and earlier\n config.formatters[i].handler=function(w)\n {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n var e;\n var text = lookaheadMatch[1];\n if (lookaheadMatch[2]) // Simple bracketted link\n {\n e = createTiddlyLink(w.output,text,false,null,w.isStatic);\n }\n else if(lookaheadMatch[3]) // Pretty bracketted link\n {\n var link = lookaheadMatch[4];\n // ELS -------------\n if (!config.formatterHelpers.isExternalLink) // fixup for TW2.0.x\n var external=!store.tiddlerExists(link)&&!store.isShadowTiddler(link);\n else\n var external=config.formatterHelpers.isExternalLink(link);\n if (external)\n {\n if (config.macros.attach.isAttachment(link))\n {\n e = createExternalLink(w.output,link);\n e.href=config.macros.attach.getAttachment(link);\n e.title = config.macros.attach.linkTooltip + link;\n }\n else\n e = createExternalLink(w.output,link);\n }\n else \n e = createTiddlyLink(w.output,link,false,null,w.isStatic);\n // ELS -------------\n }\n createTiddlyText(e,text);\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n } // END FALLBACK\n } // if "prettyLink" formatter found\n this.initialized=true;\n}\n//}}}\n//{{{\nconfig.macros.attach.init_formatters(); // load time init\n//}}}\n//{{{\nif (TiddlyWiki.prototype.coreGetRecursiveTiddlerText==undefined) {\n TiddlyWiki.prototype.coreGetRecursiveTiddlerText = TiddlyWiki.prototype.getRecursiveTiddlerText;\n TiddlyWiki.prototype.getRecursiveTiddlerText = function(title,defaultText,depth) {\n return config.macros.attach.isAttachment(title)?\n config.macros.attach.getAttachment(title):this.coreGetRecursiveTiddlerText.apply(this,arguments);\n }\n}\n//}}}
/***\n|Name|BreadcrumbsPlugin|\n|Source|http://sourceforge.net/project/showfiles.php?group_id=150646|\n|OriginalAuthor|Alan Hecht (with 2.0 update from 'jack' and revisions by Bram Chen)|\n|Version|1.5.5.0TT|\n|Author|Eric Shulman|\n|License|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides|Story.prototype.displayTiddler|\n|Description|show a list of tiddlers viewed during this session. Also defines "back" (previousTiddler) toolbar button and macro|\n\n!Revision History:\n__TiddlyTools (TT) variant:__\n1.5.5.0 2007.04.11 - added optional params to previousTiddler macro handler() to allow alternative label and tooltip text (instead of default "back")\n1.5.4.0 2007.03.02 - in refreshCrumbs(), for TW2.2, look for "storyDisplay" instead of "tiddlerDisplay" but keep fallback to "tiddlerDisplay" for TW2.1 or earlier\n1.5.3.0 2007.02.24 - changed from hijack of onClickTiddlerLink to hijack of displayTiddler() so that ALL displayed tiddlers are recorded in the crumbs, including programmatically displayed tiddlers opened by macros, scripts, etc., (such as [[GotoPlugin]], among many others) in addition to those opened by clicks on links.\n1.5.2.0 2007.02.24 - eliminated global space clutter by moving function and data declarations so they are contained inside config.breadCrumbs object.\n1.5.1.0 2007.02.06 - added "previousTiddler" macro (for use in sidebar)\n1.5.0.0 2007.02.05 - added "previousTiddler" toolbar command (aka, "back")\n1.4.0.1 2006.08.04 - change spaces to tabs\n1.4.0.0 2006.08.04 - modified from 1.4.0 distro:\n<<<\nin refreshCrumbs(), set {{{display:none/block}}} instead of {{{visibility:hidden/visible}}}\nin restartHome(), check for valid crumbArea before setting style\ngeneral code cleanup/reformat using tabs to indent\n<<<\n|1.4.0|Aug 02, 2006|Fixed bug, the redefined onClickTiddlerLink_orig_breadCrumbs works incorrectly on IE|\n|1.3.0|Jul 20, 2006|Runs compatibly with TW 2.1.0 (rev #403+)|\n|1.2.0|Feb 07, 2006|change global array breadCrumbs to config.breadCrumbs by Eric's suggestion|\n|1.1.0|Feb 04, 2006|JSLint checked|\n|1.0.0|Feb 01, 2006|TW2 ready and code Cleaned-up|\n\n!Code section:\n***/\n//{{{\nversion.extensions.breadCrumbs = {major: 1, minor: 5, revision: 5, date: new Date("Apr 11, 2007")};\n\nif (Story.prototype.breadCrumbs_coreDisplayTiddler==undefined)\n Story.prototype.breadCrumbs_coreDisplayTiddler=Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)\n{\n this.breadCrumbs_coreDisplayTiddler.apply(this,arguments);\n // if not displaying tiddler during document startup, then add it to the breadcrumbs\n // note: 'startingUp' flag is a global, set/reset by the core init() function\n if (!startingUp) config.breadCrumbs.addCrumb(title);\n}\n\nconfig.breadCrumbs = { // ELS: move all functions and data inside config.breadCrumbs object (eliminate global clutter)\n crumbs: [], // the list of current breadcrumbs\n addCrumb: function (title) { // ELS: changed from passing event, "e", to passing tiddler title\n var thisCrumb = "[[" + title + "]]";\n var ind = this.crumbs.find(thisCrumb);\n if(ind === null)\n this.crumbs.push(thisCrumb);\n else\n this.crumbs=this.crumbs.slice(0,ind+1); // ELS: use slice() to truncate array instead of just setting array length\n this.refreshCrumbs();\n return false;\n },\n refreshCrumbs: function() {\n var crumbArea = document.getElementById("breadCrumbs");\n if (!crumbArea) {\n var crumbArea = document.createElement("div");\n crumbArea.id = "breadCrumbs";\n crumbArea.style.display= "none"; // ELS changed from: crumbArea.style.visibility= "hidden";\n var targetArea= document.getElementById("tiddlerDisplay"); // TW2.1-\n if (!targetArea) targetArea = document.getElementById("storyDisplay"); // TW2.2+\n targetArea.parentNode.insertBefore(crumbArea,targetArea);\n }\n crumbArea.style.display = "block"; // ELS changed from: crumbArea.style.visibility = "visible";\n removeChildren(crumbArea);\n createTiddlyButton(crumbArea,"Home",null,this.restartHome);\n wikify(" | " + this.crumbs.join(' > '),crumbArea) // ELS: changed || to |\n },\n restartHome: function() {\n story.closeAllTiddlers();\n restart();\n config.breadCrumbs.crumbs = [];\n var crumbArea = document.getElementById("breadCrumbs");\n if (crumbArea) // ELS: added check to make sure crumbArea exists\n crumbArea.style.display = "none"; // ELS changed from: crumbArea.style.visibility = "hidden";\n }\n};\n\nconfig.commands.previousTiddler = { // ELS: added "BACK" toolbar command\n text: 'back',\n tooltip: 'view the previous tiddler',\n hideReadOnly: false,\n dateFormat: 'DDD, MMM DDth YYYY hh:0mm:0ss',\n handler: function(event,src,title) {\n var here=story.findContainingTiddler(src); if (!here) return;\n if (config.breadCrumbs.crumbs.length>1) {\n var crumb=config.breadCrumbs.crumbs[config.breadCrumbs.crumbs.length-2].replace(/\s[\s[/,'').replace(/\s]\s]/,'');\n story.displayTiddler(here,crumb);\n }\n else\n config.breadCrumbs.restartHome();\n return false;\n }\n};\n\nconfig.macros.previousTiddler= { // ELS: added "BACK" macro\n label: 'back',\n prompt: 'view the previous tiddler',\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var label=params.shift(); if (!label) label=this.label;\n var prompt=params.shift(); if (!prompt) prompt=this.prompt;\n createTiddlyButton(place,label,prompt,function() {\n if (config.breadCrumbs.crumbs.length>1) {\n var crumb=config.breadCrumbs.crumbs[config.breadCrumbs.crumbs.length-2].replace(/\s[\s[/,'').replace(/\s]\s]/,'');\n story.displayTiddler(place,crumb);\n }\n else\n config.breadCrumbs.restartHome();\n });\n }\n}\n//}}}
Background: ##003399\nForeground: #000\nPrimaryPale: #f8de8e\nPrimaryLight: #f7e2a1\nPrimaryMid: #e9b105\nPrimaryDark: #916e02\nSecondaryPale: #ffc\nSecondaryLight: #fe8\nSecondaryMid: #db4\nSecondaryDark: #841\nTertiaryPale: #eee\nTertiaryLight: #ccc\nTertiaryMid: #999\nTertiaryDark: #666\nError: #f88\n
A Proposta\n\nUma Proposta de estudo de como, as Mudanças Climáticas, o Pico do Petróleo e o Pico dos Solos vai impactar a UDV, na sua organização, no seu funcionamento e em seus sócios.\n\nA proposta está incorporando um estudo para planejar as preparações e actividades podemos insitgar agora, en consideração destes impactos fortes.\n\nSkye\n\n(clic nas buttones acima ligar-lhe as partes da proposta)
!Como Interagir com o Grupo - Internet\n\nBem Vindo o ~TiddlyWiki do Nova ~Encanto-MS - www.ipcp.org.br/NovoEncanto_MS/index.php\n\nOs monitores do Nove Encanto em Mato Grosso do Sul, e algums socios tem autorização adicionar e editar a informação deste site. Outros visitantes podem ler, e não editar!!!.\n\nPara entrar o site como monitor clic "Webpage by Skye", e, na painel de control que abrio, digitar seu nomen e senha e clic "login". \n\n
!Comunicando!\n\nSerá provável que voçes percebam que este documento está apresentado uma forma diferente. Ele não é um documento em WORD, nem Excel, nem Powerpoint. Na verdade este documento esta sendo apresentado usando o software do [[TiddlyWiki]], que funciona como um Wiki (onde muitas pessoas podem colaborar) compactado em um arquivo pequeno no formato .html.\n\nEste formato é útil e fácil de usar como uma conferência ou estudo colaborativo. Cada pessoa pode adicionar seus artigos, idéias, sugestões, os quais serão disponíveis por outras pessoas. \n\n
!Curso - As Florestas Sagradas\n\nCurso autorizado para ser realizado com o Plantio da 13a. Região com apoio do m. Central, M. Teodoro Irigaray.\n\nCurso de Sistemas Agroflorestais tendo por base as ferramentas da Mochila Florestal ProCerrado e usando a metodologa Aprender Fazendo e programa Moodle (para educação à distância).
//{{{\nconfig.options.chkHttpReadOnly = false; // means web visitors can experiment with your site by clicking edit\nconfig.options.chkInsertTabs = true; // tab inserts a tab when editing a tiddler\nconfig.views.wikified.defaultText = ""; // don't need message when a tiddler doesn't exist\nconfig.views.editor.defaultText = ""; // don't need message when creating a new tiddler \n//}}}\n
!Criando um Futuro PòsPetroleo\n\nGrupo estudando [[Mudanças Climaticas]], o [[Pico Petroleo]] e o [[Pico Solo]], com intenção planejar e criar um futuro por a UDV e seus socios em Campo Grande.
!Curso - As Florestas Sacradas\n\nCurso autorizado por Plantio 13 Região e com supporte M. central (M. Teodoro).\n\nCurso baseado em Sistemas Agroflorestais (Mochila Florestal ProCerrado) e usando Aprendendo Fazenda e Moodle.
Começa
Desafios do Futuro\n\nÁreas do conhecimento multidisciplinar e acontecimentos recentes que devem ser considerados, que Skye e Ivone estão instigando as Unidades Administrativas da UDV em Campo Grande, a iniciar grupos de estudos e assim, participativamente, realizar projeções e planejamentos das ações futuras, importantes e estratégicas. [[O Futuro]].
<!--{{{-->\n<!--- http://mptw.tiddlyspot.com/#MptwEditTemplate ($Rev: 1829 $) --->\n<div class="toolbar" macro="toolbar +saveTiddler saveCloseTiddler closeOthers -cancelTiddler cancelCloseTiddler deleteTiddler"></div>\n<div class="title" macro="view title"></div>\n<div class="editLabel">Title</div><div class="editor" macro="edit title"></div>\n<div class="editLabel">Tags</div><div class="editor" macro="edit tags"></div>\n<div class="editorFooter"><span macro="message views.editor.tagPrompt"></span><span macro="tagChooser"></span></div>\n<div macro="showWhenExists EditPanelTemplate">[[EditPanelTemplate]]</div>\n<div class="editor" macro="edit text"></div>\n<!--}}}-->\n
!Educação\n\nCampanhas educativas, informativos, boletins, apostilas....
| source file:|{{{D:\scd-Corguiho\sApresentações\sMudanças Climaticas\sEmiissões em Brasil.jpg}}}|\n| attached on:|12 Julho 2007 by Skye|\n| description:|attached by FileDropPlugin|\n| embedded:|//none//|\n| local file:|/%LOCAL_LINK%/[[D:\scd-Corguiho\sApresentações\sMudanças Climaticas\sEmiissões em Brasil.jpg|file:///D:/cd-Corguiho/Apresentações/Mudanças Climaticas/Emiissões em Brasil.jpg]]|\n| remote link:|//none//|\nimage\n<<<\nusage: {{{[img[tooltip|Emiissões em Brasil.jpg]] or [img[tooltip|Emiissões em Brasil.jpg][link]]}}}\n[img[tooltip|Emiissões em Brasil.jpg]]\n<<<\n
!Eventos\n\nEventos planejados e oferecidos pelo NE-MS
/***\n| Name:|ExtentTagButtonPlugin|\n| Description:|Adds a New tiddler button in the tag drop down|\n| Version:|3.0 ($Rev: 1845 $)|\n| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source:|http://mptw.tiddlyspot.com/#ExtendTagButtonPlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n***/\n//{{{\n\n// can't hijack a click handler. must redefine this entirely.\n// would be good to refactor in the core...\n// this version copied from 2.1.3 core\n\n// Event handler for clicking on a tiddler tag\nfunction onClickTag(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var popup = Popup.create(this);\n var tag = this.getAttribute("tag");\n var title = this.getAttribute("tiddler");\n if(popup && tag)\n {\n var tagged = store.getTaggedTiddlers(tag);\n var titles = [];\n var li,r;\n for(r=0;r<tagged.length;r++)\n if(tagged[r].title != title)\n titles.push(tagged[r].title);\n var lingo = config.views.wikified.tag;\n\n wikify("<<newTiddler label:'New tiddler' tag:"+tag+">>",createTiddlyElement(popup,"li")); // <---- the only modification\n\n if(titles.length > 0)\n {\n var openAll = createTiddlyButton(createTiddlyElement(popup,"li"),lingo.openAllText.format([tag]),lingo.openAllTooltip,onClickTagOpenAll);\n openAll.setAttribute("tag",tag);\n createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");\n for(r=0; r<titles.length; r++)\n {\n createTiddlyLink(createTiddlyElement(popup,"li"),titles[r],true);\n }\n }\n else\n createTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),lingo.popupNone.format([tag]));\n createTiddlyElement(createTiddlyElement(popup,"li",null,"listBreak"),"div");\n var h = createTiddlyLink(createTiddlyElement(popup,"li"),tag,false);\n createTiddlyText(h,lingo.openTag.format([tag]));\n }\n Popup.show(popup,false);\n e.cancelBubble = true;\n if (e.stopPropagation) e.stopPropagation();\n return(false);\n}\n\n//}}}\n\n
/***\n|FileDropPlugin|h\n|author : BradleyMeck|\n|version : 0.1.1|\n|date : Nov 13 2006|\n|usage : drag a file onto the TW to have it be made into a tiddler|\n|browser(s) supported : Mozilla|\n\n!Trouble Shooting\n*If the plugin does not seem to work, open up the page "about:config" (just type it in the address bar) and make sure @@color(blue):signed.applets.codebase_principal_support@@ is set to @@color(blue):true@@\n\n!Revisions\n*Multiple File Dropping API updated, to end all capturing events after yours return a value that makes if(myFunctionsReturnValue) evaluate to true\n*Added support for multiple file drop handlers\n**Use the config.macros.fileDrop.addEventListener(@@color(green):String Flavor@@, @@color(green):Function handler(nsiFile){}@@, @@color(green):Boolean addToFront@@) function\n***Standard Flavor is "application/x-moz-file"\n***addToFront gives your handler priority over all others at time of add\n*Old plugin would disallow drops of text vetween applications because it didn't check if the transfer was a file.\n\n!Example Handler\n*Adds simple file import control, add this to a tiddler tagged {{{systemConfig}}} to make file dropping work\n{{{\nconfig.macros.fileDrop.addEventListener("application/x-moz-file",function(nsiFile)\n{\n if(\n confirm("You have dropped the file \s""+nsiFile.path+"\s" onto the page, it will be imported as a tiddler. Is that ok?")\n )\n {\n var newDate = new Date();\n var title = prompt("what would you like to name the tiddler?");\n store.saveTiddler(title,title,loadFile(nsiFile.path),config.options.txtUserName,newDate,[]);\n }\n return true;\n})\n}}}\n\n!Example Handler without popups and opening the tiddler on load\n*Adds simple file import control, add this to a tiddler tagged {{{systemConfig}}} to make file dropping work\n{{{\nconfig.macros.fileDrop.addEventListener("application/x-moz-file",function(nsiFile)\n{\n var newDate = new Date();\n store.saveTiddler(nsiFile.path,nsiFile.path,loadFile(nsiFile.path),config.options.txtUserName,newDate,[]);\n story.displayTiddler(null,nsiFile.path)\n return true;\n})\n}}}\n\n***/\n\n//{{{\nconfig.macros.fileDrop = {varsion : {major : 0, minor : 0, revision: 1}};\nconfig.macros.fileDrop.customDropHandlers = [];\n\nconfig.macros.fileDrop.dragDropHandler = function(evt) {\n\n netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');\n // Load in the native DragService manager from the browser.\n var dragService = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);\n\n // Load in the currently-executing Drag/drop session.\n var dragSession = dragService.getCurrentSession();\n\n // Create an instance of an nsITransferable object using reflection.\n var transferObject = Components.classes["@mozilla.org/widget/transferable;1"].createInstance();\n\n // Bind the object explicitly to the nsITransferable interface. We need to do this to ensure that\n // methods and properties are present and work as expected later on.\n transferObject = transferObject.QueryInterface(Components.interfaces.nsITransferable);\n\n // I've chosen to add only the x-moz-file MIME type. Any type can be added, and the data for that format\n // will be retrieved from the Drag/drop service.\n transferObject.addDataFlavor("application/x-moz-file");\n\n // Get the number of items currently being dropped in this drag/drop operation.\n var numItems = dragSession.numDropItems;\n for (var i = 0; i < numItems; i++)\n {\n // Get the data for the given drag item from the drag session into our prepared\n // Transfer object.\n dragSession.getData(transferObject, i);\n\n // We need to pass in Javascript 'Object's to any XPConnect method which\n // requires OUT parameters. The out value will then be saved as a new\n // property called Object.value.\n var dataObj = {};\n var dropSizeObj = {};\n\nfor(var ind = 0; ind < config.macros.fileDrop.customDropHandlers.length; ind++)\n{\n var item = config.macros.fileDrop.customDropHandlers[ind];\n if(dragSession.isDataFlavorSupported(item.flavor))\n {\n transferObject.getTransferData(item.flavor, dataObj, dropSizeObj);\n var droppedFile = dataObj.value.QueryInterface(Components.interfaces.nsIFile);\n // Display all of the returned parameters with an Alert dialog.\n var result = item.handler.call(item,droppedFile);\n // Since the event is handled, prevent it from going to a higher-level event handler.\n evt.stopPropagation();\n evt.preventDefault();\n if(result){break;}\n }\n}\n }\n}\n\nif(!window.event)\n{\n // Register the event handler, and set the 'capture' flag to true so we get this event\n // before it bubbles up through the browser.\n window.addEventListener("dragdrop", config.macros.fileDrop.dragDropHandler , true);\n}\n\nconfig.macros.fileDrop.addEventListener = function(paramflavor,func,inFront)\n{\nvar obj = {};\nobj.flavor = paramflavor;\nobj.handler = func;\nif(!inFront)\n{config.macros.fileDrop.customDropHandlers.push(obj);}\nelse{config.macros.fileDrop.customDropHandlers.shift(obj);}\n}\n//}}}
+++^30em^[click here to see LatinHtmlEntities in a floating panel]\n <<moveablePanel>>LatinHtmlEntities\n----\n <<tiddler LatinHtmlEntities>>\n===
/***\n|Name|HTMLFormattingPlugin|\n|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|\n|Version|2.1.4|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|plugin|\n|Requires||\n|Overrides||\n|Description|Use wiki syntax formatting inside of HTML content|\n\nThe shorthand Wiki-style formatting syntax of ~TiddlyWiki is very convenient and enables most content to be reasonably well presented. However, there are times when tried-and-true HTML formatting syntax allows more more precise control of the content display.\n\nWhen HTML formatting syntax is embedded within a tiddler (in between {{{<}}}{{{html>}}} and {{{<}}}{{{/html>}}} markers) TiddlyWiki passes this content to the browser for processing as 'native' HTML. However, TiddlyWiki does not also process the HTML source content for any embedded wiki-formatting syntax it may contain. This means that while you can use HTML formatted content, you cannot mix wiki-formatted content within the HTML formatting.\n!!!!!Usage\n<<<\nThe ~HTMLFormatting plugin allows you to freely ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.\n\nWhen a tiddler is about to be displayed, ~TiddlyWiki looks for tiddler content contained within ''<{{{html}}}>'' and ''<{{{/html}}}>'' HTML tags. This content (if any) is passed directly to the browser's internal "rendering engine" to process as ~HTML-formatted content. Once the HTML formatting has been processed, all the pieces of text occuring in between the HTML formatting are then processed by the ~TiddlyWiki rendering engine, one piece at a time, so that normal wiki-style formatting can be applied to the individual text pieces.\n<<<\n!!!!!Line breaks\n<part Linebreaks hidden>\n<<<\nOne major difference between Wiki formatting and HTML formatting is how "line breaks" are processed. Wiki formatting treats all line breaks as literal content to be displayed //as-is//. However, because HTML normally ignores line breaks and actually processes them as simple "word separators" instead, many people who write HTML include extra line breaks in their documents, just to make the "source code" easier to read.\n\nEven though you can use HTML tags within your tiddler content, the default treatment for line breaks still follows the Wiki-style rule (i.e., all new lines are displayed as-is). When adding HTML content to a tiddler (especially if you cut-and-paste it from another web page), you should take care to avoid adding extra line breaks to the text.\n\nIf removing all the extra line breaks from your HTML content would be a big hassle, you can quickly //override the default Wiki-style line break rule// so that the line breaks use the standard HTML rules instead. Placing a ''<{{{hide linebreaks}}}>'' tag within the tiddler's HTML content changes all line breaks to spaces before rendering the content, so that the literal line breaks will be processed as simple word-breaks instead.\n\nNote: this does //not// alter the actual tiddler content that is stored in the document, just the manner in which it is displayed. Any line breaks contained in the tiddler will still be there when you edit its content. Also, to include a literal line break when the ''<{{{hide linebreaks}}}>'' tag is present, you will need to use a ''<{{{br}}}>'' or ''<{{{p}}}>'' HTML tag instead of simply typing a line break.\n<<<\n</part>\n!!!!!How it works\n<<<\nThe TW core support for HTML does not let you put ANY wiki-style syntax (including TW macros) *inside* the {{{<html>...</html>}}} block. Everything between {{{<html>}}} and {{{</html>}}} is handed to the browser for processing and that is it. Fortunately, this plugin ADDS the ability to let you put wiki-syntax (including macros) inside the html. It does this by first giving the tiddler source content to the browser to process the HTML, and then handling any wiki-based syntax that remains afterward.\n\nHowever, not all wiki syntax can be safely passed through the browser's parser. Specifically, any TW macros inside the HTML will get 'eaten' by the browser since the macro brackets, {{{<<...>>}}} use the "<" and ">" that normally delimit the HTML/XML syntax recognized by the browser's parser.\n\nSimilarly, you can't use InlineJavascript within the HTML because the {{{<script>...</script>}}} syntax will also be consumed by the browser and there will be nothing left to process afterward. Note: unfortunately, even though the browser removes the {{{<script>...</script>}}} sequence, it doesn't actually execute the embedded javascript code that it removes, so any scripts contained inside of <html> blocks in TW are currently being ignored. :-(\n\nAs a work-around to allow TW *macros* (but not inline scripts) to exist inside of <html> formatted blocks of content, the plugin first converts the {{{<<}}} and {{{>>}}} into "%%(" and ")%%", making them "indigestible" so they can pass unchanged through the belly of the beast (the browser's HTML parser).\n\nAfter the browser has done its job, the wiki syntax sequences (including the "undigested" macros) are contained in #text nodes in the browser-generated DOM elements. The plugin then recursively locates and processes each #text node, converts the %%( and )%% back into {{{<<}}} and {{{>>}}}, passes the result to wikify() for further rendering of the wiki-formatted syntax into a containing SPAN that replaces the previous #text node. At the end of this process, none of the encoded %%( and )%% sequences remain in the rendered tiddler output.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''HTMLFormattingPlugin'' (tagged with <<tag systemConfig>>)\n^^documentation and javascript for HTMLFormatting handling^^\n<<<\n!!!!!Revision History\n<<<\n''2006.09.10 [2.1.4]'' update formatter for 2.1 compatibility (use this.lookaheadRegExp instead of temp variable)\n''2006.05.28 [2.1.3]'' in wikifyTextNodes(), decode the *value* of TEXTAREA nodes, but don't wikify() its children. (thanks to "ayj" for bug report)\n''2006.02.19 [2.1.2]'' in wikifyTextNodes(), put SPAN element into tiddler DOM (replacing text node), BEFORE wikifying the text content. This ensures that the 'place' passed to any macros is correctly defined when the macro is evaluated, so that calls to story.findContainingTiddler(place) will work as expected. (Thanks for bug report from GeoffSlocock)\n''2006.02.05 [2.1.1]'' wrapped wikifier hijack in init function to eliminate globals and avoid FireFox 1.5.0.1 crash bug when referencing globals\n''2005.12.01 [2.1.0]'' don't wikify #TEXT nodes inside SELECT and TEXTAREA elements\n''2005.11.06 [2.0.1]'' code cleanup\n''2005.10.31 [2.0.0]'' replaced hijack wikify() with hijack config.formatters["html"] and simplified recursive WikifyTextNodes() code\n''2005.10.09 [1.0.2]'' combined documentation and code into a single tiddler\n''2005.08.05 [1.0.1]'' moved HTML and CSS definitions into plugin code instead of using separate tiddlers\n''2005.07.26 [1.0.1]'' Re-released as a plugin. Added <{{{html}}}>...</{{{nohtml}}}> and <{{{hide newlines}}}> handling\n''2005.07.20 [1.0.0]'' Initial Release (as code adaptation)\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.HTMLFormatting = {major: 2, minor: 1, revision: 4, date: new Date(2006,9,10)};\n\n// find the formatter for HTML and replace the handler\ninitHTMLFormatter();\nfunction initHTMLFormatter()\n{\n for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);\n if (i<config.formatters.length) config.formatters[i].handler=function(w) {\n if (!this.lookaheadRegExp) // fixup for TW2.0.x\n this.lookaheadRegExp = new RegExp(this.lookahead,"mg");\n this.lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = this.lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {\n var html=lookaheadMatch[1];\n // optionally suppress wiki-style literal handling of newlines\n // strip any carriage returns added by Internet Explorer's textarea edit field\n // encode newlines as \sn so Internet Explorer's HTML parser won't eat them\n // encode macro brackets (<< and >>) so HTML parser won't eat them\n if (html.indexOf('<hide linebreaks>')!=-1) html=html.replace(regexpNewLine,' ');\n html=html.replace(regexpCarriageReturn,'');\n html=html.replace(regexpNewLine,'\s\sn');\n html=html.replace(/<</g,'%%(').replace(/>>/g,')%%');\n // create span to hold HTML\n // parse HTML and normalize the results\n // walk node tree and call wikify() on each text node\n var e = createTiddlyElement(w.output,"span");\n e.innerHTML=html;\n e.normalize(); \n wikifyTextNodes(e);\n // advance to next parse position\n w.nextMatch = this.lookaheadRegExp.lastIndex;\n }\n }\n}\n\n// wikify text nodes remaining after HTML content is processed (pre-order recursion)\nfunction wikifyTextNodes(theNode)\n{\n // textarea node doesn't get wikified, just decoded... \n if (theNode.nodeName.toLowerCase()=='textarea')\n theNode.value=theNode.value.replace(/\s%%\s(/g,'<<').replace(/\s)\s%%/g,'>>').replace(regexpBackSlashEn,'\sn');\n else for (var i=0;i<theNode.childNodes.length;i++) {\n var theChild=theNode.childNodes.item(i);\n if (theChild.nodeName.toLowerCase()=='option') continue;\n if (theChild.nodeName.toLowerCase()=='select') continue;\n wikifyTextNodes(theChild);\n if (theChild.nodeName=='#text') {\n var txt=theChild.nodeValue;\n // decode macro brackets and newlines\n txt=txt.replace(/\s%%\s(/g,'<<').replace(/\s)\s%%/g,'>>').replace(regexpBackSlashEn,'\sn');\n // replace text node with wikified() span\n var newNode=createTiddlyElement(null,"span");\n theNode.replaceChild(newNode,theChild);\n wikify(txt,newNode);\n }\n }\n}\n//}}}
/***\n| Name|HideWhenPlugin|\n| Description|Allows conditional inclusion/exclusion in templates|\n| Version|3.0 ($Rev: 1845 $)|\n| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source|http://mptw.tiddlyspot.com/#HideWhenPlugin|\n| Author|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\nFor use in ViewTemplate and EditTemplate. Example usage:\n{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}\n{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}\n***/\n//{{{\n\nwindow.removeElementWhen = function(test,place) {\n if (test) {\n removeChildren(place);\n place.parentNode.removeChild(place);\n }\n};\n\nmerge(config.macros,{\n\n hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( eval(paramString), place);\n }},\n\n showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !eval(paramString), place);\n }},\n\n hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAll(params), place);\n }},\n\n showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAll(params), place);\n }},\n\n hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAny(params), place);\n }},\n\n showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAny(params), place);\n }},\n\n hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( tiddler.tags.containsAll(params), place);\n }},\n\n showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !tiddler.tags.containsAll(params), place);\n }},\n\n hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);\n }},\n\n showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);\n }}\n\n});\n\n//}}}\n\n
/***\n|''Name:''|abego.IncludePlugin|\n|''Version:''|1.0.1 (2007-04-30)|\n|''Type:''|plugin|\n|''Source:''|http://tiddlywiki.abego-software.de/#IncludePlugin|\n|''Author:''|Udo Borkowski (ub [at] abego-software [dot] de)|\n|''Documentation:''|[[IncludePlugin Documentation|http://tiddlywiki.abego-software.de/#[[IncludePlugin Documentation]]]]|\n|''Community:''|([[del.icio.us|http://del.icio.us/post?url=http://tiddlywiki.abego-software.de/index.html#IncludePlugin]]) ([[Support|http://groups.google.com/group/TiddlyWiki]])|\n|''Copyright:''|© 2007 [[abego Software|http://www.abego-software.de]]|\n|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|\n|''~CoreVersion:''|2.1.3|\n|''Browser:''|Firefox 1.5.0.9 or better; Internet Explorer 6.0|\n***/\n/***\nThis plugin's source code is compressed (and hidden). Use this [[link|http://tiddlywiki.abego-software.de/archive/IncludePlugin/Plugin-Include-src.1.0.0.js]] to get the readable source code.\n***/\n///%\nif(!window.abego){window.abego={};}var invokeLater=function(_1,_2,_3){return abego.invokeLater?abego.invokeLater(_1,_2,_3):setTimeout(_1,_2);};abego.loadFile=function(_4,_5,_6){var _7=function(_8,_9,_a,_b,_c){return _8?_5(_a,_b,_9):_5(undefined,_b,_9,"Error loading %0".format([_b]));};if(_4.search(/^((http(s)?)|(file)):/)!=0){if(_4.search(/^((.\s:\s\s)|(\s\s\s\s)|(\s/))/)==0){_4="file://"+_4;}else{var _d=document.location.toString();var i=_d.lastIndexOf("/");_4=_d.substr(0,i+1)+_4;}_4=_4.replace(/\s\s/mg,"/");}loadRemoteFile(_4,_7,_6);};abego.loadTiddlyWikiStore=function(_f,_10,_11,_12){var _13=function(_14,_15){if(_12){_12(_14,"abego.loadTiddlyWikiStore",_15,_f,_11);}};var _16=function(_17,_18){var _19=_18.indexOf(startSaveArea);var _1a=_18.indexOf("<!--POST-BODY-END--"+">");var _1b=_18.lastIndexOf(endSaveArea,_1a==-1?_18.length:_1a);if((_19==-1)||(_1b==-1)){return config.messages.invalidFileError.format([_f]);}var _1c="<html><body>"+_18.substring(_19,_1b+endSaveArea.length)+"</body></html>";var _1d=document.createElement("iframe");_1d.style.display="none";document.body.appendChild(_1d);var doc=_1d.document;if(_1d.contentDocument){doc=_1d.contentDocument;}else{if(_1d.contentWindow){doc=_1d.contentWindow.document;}}doc.open();doc.writeln(_1c);doc.close();var _1f=doc.getElementById("storeArea");_17.loadFromDiv(_1f,"store");_1d.parentNode.removeChild(_1d);return null;};var _20=function(_21){_13("Error when loading %0".format([_f]),"Failed");_10(undefined,_f,_11,_21);return _21;};var _22=function(_23){_13("Loaded %0".format([_f]),"Done");_10(_23,_f,_11);return null;};var _24=function(_25,_26,_27,_28){if(_25===undefined){_20(_28);return;}_13("Processing %0".format([_f]),"Processing");var _29=config.messages.invalidFileError;config.messages.invalidFileError="The file '%0' does not appear to be a valid TiddlyWiki file";try{var _2a=new TiddlyWiki();var _2b=_16(_2a,_25);if(_2b){_20(_2b);}else{_22(_2a);}}catch(ex){_20(exceptionText(ex));}finally{config.messages.invalidFileError=_29;}};_13("Start loading %0".format([_f]),"Started");abego.loadFile(_f,_24,_11);};(function(){if(abego.TiddlyWikiIncluder){return;}var _2c="waiting";var _2d="loading";var _2e=1000;var _2f=-200;var _30=-100;var _31=-300;var _32;var _33=[];var _34={};var _35=[];var _36;var _37=[];var _38;var _39=function(){if(_32===undefined){_32=config.options.chkUseInclude===undefined||config.options.chkUseInclude;}return _32;};var _3a=function(url){return "No include specified for %0".format([url]);};var _3c=function(){var _3d=_35;_35=[];if(_3d.length){for(var i=0;i<_37.length;i++){_37[i](_3d);}}};var _3f;var _40=function(){if(_36!==undefined){clearInterval(_36);}_3f=0;var _41=function(){abego.TiddlyWikiIncluder.sendProgress("","","Done");};_36=setInterval(function(){_3f++;if(_3f<=10){return;}clearInterval(_36);_36=undefined;abego.TiddlyWikiIncluder.sendProgress("Refreshing...","","");refreshDisplay();invokeLater(_41,0,_2f);},1);};var _42=function(_43){var _44;for(var i=0;i<_33.length;i++){var _46=abego.TiddlyWikiIncluder.getStore(_33[i]);if(_46&&(_44=_43(_46,_33[i]))){return _44;}}};var _47=function(){if(!window.store){return invokeLater(_47,100);}var _48=store.fetchTiddler;store.fetchTiddler=function(_49){var t=_48.apply(this,arguments);if(t){return t;}if(config.shadowTiddlers[_49]!==undefined){return undefined;}if(_49==config.macros.newTiddler.title){return undefined;}return _42(function(_4b,url){var t=_4b.fetchTiddler(_49);if(t){t.includeURL=url;}return t;});};if(_33.length){_40();}};var _4e=function(){if(!window.store){return invokeLater(_4e,100);}var _4f=store.getTiddlerText("IncludeList");if(_4f){wikify(_4f,document.createElement("div"));}};var _50=function(_51){var _52=function(){var _53=store.forEachTiddler;var _54=function(_55){var _56={};var _57;var _58=function(_59,_5a){if(_56[_59]){return;}_56[_59]=1;if(_57){_5a.includeURL=_57;}_55.apply(this,arguments);};_53.call(store,_58);for(var n in config.shadowTiddlers){_56[n]=1;}_56[config.macros.newTiddler.title]=1;_42(function(_5c,url){_57=url;_5c.forEachTiddler(_58);});};store.forEachTiddler=_54;try{return _51.apply(this,arguments);}finally{store.forEachTiddler=_53;}};return _52;};var _5e=function(_5f,_60){return _5f[_60]=_50(_5f[_60]);};abego.TiddlyWikiIncluder={};abego.TiddlyWikiIncluder.setProgressFunction=function(_61){_38=_61;};abego.TiddlyWikiIncluder.getProgressFunction=function(_62){return _38;};abego.TiddlyWikiIncluder.sendProgress=function(_63,_64,_65){if(_38){_38.apply(this,arguments);}};abego.TiddlyWikiIncluder.onError=function(url,_67){displayMessage("Error when including '%0':\sn%1".format([url,_67]));};abego.TiddlyWikiIncluder.hasPendingIncludes=function(){for(var i=0;i<_33.length;i++){var _69=abego.TiddlyWikiIncluder.getState(_33[i]);if(_69==_2c||_69==_2d){return true;}}return false;};abego.TiddlyWikiIncluder.getIncludes=function(){return _33.slice();};abego.TiddlyWikiIncluder.getState=function(url){var s=_34[url];if(!s){return _3a(url);}return typeof s=="string"?s:null;};abego.TiddlyWikiIncluder.getStore=function(url){var s=_34[url];if(!s){return _3a(url);}return s instanceof TiddlyWiki?s:null;};abego.TiddlyWikiIncluder.include=function(url,_6f){if(!_39()||_34[url]){return;}var _70=this;_33.push(url);_34[url]=_2c;var _71=function(_72,_73,_74,_75){if(_72===undefined){_34[url]=_75;_70.onError(url,_75);return;}_34[url]=_72;_35.push(url);invokeLater(_3c);};var _76=function(){_34[url]=_2d;abego.loadTiddlyWikiStore(url,_71,null,_38);};if(_6f){invokeLater(_76,_6f);}else{_76();}};abego.TiddlyWikiIncluder.forReallyEachTiddler=function(_77){var _78=function(){store.forEachTiddler(_77);};_50(_78).call(store);};abego.TiddlyWikiIncluder.getFunctionUsingForReallyEachTiddler=_50;abego.TiddlyWikiIncluder.useForReallyEachTiddler=_5e;abego.TiddlyWikiIncluder.addListener=function(_79){_37.push(_79);};abego.TiddlyWikiIncluder.addListener(_40);if(config.options.chkUseInclude===undefined){config.options.chkUseInclude=true;}config.shadowTiddlers.AdvancedOptions+="\sn<<option chkUseInclude>> Include ~TiddlyWikis (IncludeList | IncludeState | [[help|http://tiddlywiki.abego-software.de/#[[IncludePlugin Documentation]]]])\sn^^(Reload this ~TiddlyWiki to make changes become effective)^^";config.shadowTiddlers.IncludeState="<<includeState>>";var _7a=function(e,_7c,_7d){if(!anim||!abego.ShowAnimation){e.style.display=_7c?"block":"none";return;}anim.startAnimating(new abego.ShowAnimation(e,_7c,_7d));};abego.TiddlyWikiIncluder.getDefaultProgressFunction=function(){setStylesheet(".includeProgressState{\sn"+"background-color:#FFCC00;\sn"+"position:absolute;\sn"+"right:0.2em;\sn"+"top:0.2em;\sn"+"width:7em;\sn"+"padding-left:0.2em;\sn"+"padding-right:0.2em\sn"+"}\sn","abegoInclude");var _7e=function(){var e=document.createElement("div");e.className="includeProgressState";e.style.display="none";document.body.appendChild(e);return e;};var _80=_7e();var _81=function(_82){removeChildren(_80);createTiddlyText(_80,_82);_7a(_80,true,0);};var _83=function(){invokeLater(function(){_7a(_80,false,_2e);},100,_30);};var _84=function(_85,_86,_87,url,_89){if(_87=="Done"||_87=="Failed"){_83();return;}if(_86=="abego.loadTiddlyWikiStore"){_3f=0;if(_87=="Processing"){_81("Including...");}}else{_81(_85);}};return _84;};abego.TiddlyWikiIncluder.setProgressFunction(abego.TiddlyWikiIncluder.getDefaultProgressFunction());config.macros.include={};config.macros.include.handler=function(_8a,_8b,_8c,_8d,_8e,_8f){_8c=_8e.parseParams("url",null,true,false,true);var _90=parseInt(getParam(_8c,"delay","0"));var _91=_8c[0]["url"];var _92=getFlag(_8c,"hide",false);if(!_92){createTiddlyText(createTiddlyElement(_8a,"code"),_8d.source.substring(_8d.matchStart,_8d.nextMatch));}for(var i=0;_91&&i<_91.length;i++){abego.TiddlyWikiIncluder.include(_91[i],_90);}};config.macros.includeState={};config.macros.includeState.handler=function(_94,_95,_96,_97,_98,_99){var _9a=function(){var s="";var _9c=abego.TiddlyWikiIncluder.getIncludes();if(!_9c.length){return "{{noIncludes{\snNo includes or 'include' is disabled (see AdvancedOptions)\sn}}}\sn";}s+="|!Address|!State|\sn";for(var i=0;i<_9c.length;i++){var inc=_9c[i];s+="|{{{"+inc+"}}}|";var t=abego.TiddlyWikiIncluder.getState(inc);s+=t?"{{{"+t+"}}}":"included";s+="|\sn";}s+="|includeState|k\sn";return s;};var _a0=function(){removeChildren(div);wikify(_9a(),div);if(abego.TiddlyWikiIncluder.hasPendingIncludes()){invokeLater(_a0,500,_31);}};var div=createTiddlyElement(_94,"div");invokeLater(_a0,0,_31);};var _a2=Tiddler.prototype.isReadOnly;Tiddler.prototype.isReadOnly=function(){return _a2.apply(this,arguments)||this.isIncluded();};Tiddler.prototype.isIncluded=function(){return this.includeURL!=undefined;};Tiddler.prototype.getIncludeURL=function(){return this.includeURL;};var _a3={getMissingLinks:1,getOrphans:1,getTags:1,reverseLookup:1,updateTiddlers:1};for(var n in _a3){_5e(TiddlyWiki.prototype,n);}var _a5=function(){if(abego.IntelliTagger){_5e(abego.IntelliTagger,"assistTagging");}};var _a6=function(){if(config.macros.forEachTiddler){_5e(config.macros.forEachTiddler,"findTiddlers");}};_47();invokeLater(_4e,100);invokeLater(_a5,100);invokeLater(_a6,100);})();\n//%/\n
/***\n|''Name:''|LegacyStrikeThroughPlugin|\n|''Description:''|Support for legacy (pre 2.1) strike through formatting|\n|''Version:''|1.0.1|\n|''Date:''|Jul 21, 2006|\n|''Source:''|http://www.tiddlywiki.com/#LegacyStrikeThroughPlugin|\n|''Author:''|MartinBudden (mjbudden (at) gmail (dot) com)|\n|''License:''|[[BSD open source license]]|\n|''CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.0.4+; Firefox 1.5; InternetExplorer 6.0|\n\n***/\n\n//{{{\n\n// Ensure that the LegacyStrikeThrough Plugin is only installed once.\nif(!version.extensions.LegacyStrikeThroughPlugin)\n {\n version.extensions.LegacyStrikeThroughPlugin = true;\n\nconfig.formatters.push(\n{\n name: "legacyStrikeByChar",\n match: "==",\n termRegExp: /(==)/mg,\n element: "strike",\n handler: config.formatterHelpers.createElementAndWikify\n});\n\n} // end of "install only once"\n//}}}\n
Story.prototype.tiddlerHistory= [];\nStory.prototype.maxTiddlers = 1;\nStory.prototype.closedHistory=[];\nStory.prototype.closedHistoryMax = 10;\n\nArray.prototype.moveToEnd = function(item)\n{\n this.remove(item);\n this.push(item);\n}\n\nStory.prototype.old_history_displayTiddler = Story.prototype.displayTiddler;\nStory.prototype.displayTiddler = function(srcElement,title,template,animate,slowly)\n{\n this.tiddlerHistory.moveToEnd(title);\n this.closedHistory.remove(title);\n var closeCount = this.tiddlerHistory.length - this.maxTiddlers;\n if (closeCount > 0)\n {\n var count = this.tiddlerHistory.splice (0,closeCount);\n for (var i=0; i<count.length;i++)\n {\n story.closeTiddler(count[i],false);\n }\n }\n story.old_history_displayTiddler(null,title,template,animate,slowly);\n}\n\nStory.prototype.old_history_closeTiddler = Story.prototype.closeTiddler;\nStory.prototype.closeTiddler = function(title,animate,slowly)\n{\n this.tiddlerHistory.remove(title);\n this.closedHistory.remove(title);\n this.closedHistory.unshift(title);\n story.old_history_closeTiddler.apply(this,arguments);\n}\n\nStory.prototype.displayTiddlers = function(srcElement,titles,template,animate,slowly)\n{\n for(var t = titles.length-1;t>=0;t--)\n {\n this.tiddlerHistory.moveToEnd(titles[t]);\n this.closedHistory.remove(titles[t]);\n this.old_history_displayTiddler(srcElement,titles[t],template,animate,slowly);\n }\n}\n\nconfig.commands.history={\n text: "history",\n tooltip: "re-open a closed tiddler"};\n\nconfig.commands.history.handler = function(event,src,title)\n{\n var popup = Popup.create(src);\n if(popup)\n {\n if (!story.closedHistory.length)\n createTiddlyText(popup,"No history");\n else\n {\n var c = Math.min(story.closedHistory.length,story.closedHistoryMax);\n for (i=0; i<c;i++ )\n {\n createTiddlyLink(createTiddlyElement(popup,"li"),story.closedHistory[i],true);\n }\n }\n }\n Popup.show(popup,false);\n event.cancelBubble = true;\n if (event.stopPropagation) event.stopPropagation();\n return false;\n}
!Lucro Energetico\n\nPara entender esta conceito, podemos começar imaginando um homen que invento um novo produto.\n\nEle faiz algums protopicos e discobrio que o custo de produção será $R1,00. Ele oferecio algums exemplos na mercado local e as pessoas gustam o produto tanto que eles são disposto pagan $R50,00 cada unidade.\n\nNossa inventor começar produzir e vender. Ainda pessoas são contente pagan $R50,00. Em tempo corto ele tem lucro para constuir uma fabrica grande, mas efficiente. Agora ele podem produzir cada unidade por $R0,80, e ainda pessoas são pagando $R50,00.\n\nEm pouco tempo este homen esta abrindo fabricas e lojas en outras estados, começando exportar, e crio um departmento de pesquisa para melhorar ainda producto e desenvolvir outras ideias dele. Sem fala do casa nova, os dois carros e seus vacações en Paris!!\n\nA mesmo tempo outro homen inventou um producto bem util. Tambem custa $R1,00 para produzir, mais o povo são quierem paga maximo de $R3,00 cada unidade. Este homen esta ganhando um lucro. E ele não vai tem condição por novas casas, vacações en Paris nor expandir seus lojas e fabricas. Ele vai sobrevivir bem, e não vai expandir. E ele deve tem muitos cuidado com as gastos dos funcionarios, com as impostos, com a subida as precos sseus materias primas e as gastos administrativos.\n\nQuando falamos em R$ podemos entender que estes dois homens tera vidas e oportunidades bem diferentes.\n\nSerá a mesmo coisa com energia. Em verdade esta analagia será mas forte, porque é energia que cria e diriga a economia.\n\nQuando petroleo foi discobrido em EUA nas 1880s, en pozos superficias, ele tive um lucro de 100. Por cada unidade enegetica (BTU) investida na produção de petroleo, recebemos em lucro de 100 BTUs.\n\nCom este lucro, foi possivel desenvolvir carros, aviões, computadores, plasticos, agroquimicas, internet.......... Todo isso foi o resultado do LUCRO ENERGETICO do petroleo.\n\nHoje o petroleo tem lucro de 20 a 25 - hoje ele é mais dificil aichar (no mar profundo e frio na caso de Brasil), e mais dificil e longe transportar (norte de alaska a EUA, Iraque ate EUA!!!). E ainda a lucro é bom. Ainda estamos subevivendo em luxo.\n\nCom a produção de petroleo caindo, quais alternativas temos?\n\nNo EUA eles são falando de alcool produzido por milho. As cientistas falan que esta processo dará lucro energetica de 1,2 até 2,1 (depende quiem faiz a calculação - as academicos ou as funcionarios do governo). \nAqui em Brasil, se parece biodeisel feito por soja podem chegar ate lucro energetico de 3 ou pouco mais.\nAlcool feito por cana podem chegar ate 6.\n\nAs cientistas calcula que para manter a infraestrutura de nossa cultura precisamos um fonte de energia com lucro energetico de minimo 4,5 ou 5. Podemos entender que isso é como a taxa administrativa em um negocio, como as impostas trabalhistas..... Sem não ganhamos suficiente lucro pagam esta impostos não vamos sobrevivir.\n\nEntão alcool por milho e biodeisel simplesmente não dará sufficiente lucro. Estas propostas chegará imaplendecia bem rapido.\n\nAlcool de cana será uma opção util. O lucro não será como estamos acustumbrado. Podemos sobrevivir, com pouco menos luxo. Só que a industria de alcool por cana é socialmente horendos, e prejudicará a meio ambiente (exatamente quando não temos condição continuará fazendo isso). E ele deve ser feito nos solos melhores que temos. Os mesmo terras que precisaremos para produção para alimetar o povo.\n\n
[[Projetos]]\n[[Eventos]]\n[[Educação]]\n[[Desafios do Futuro]]\n[[Comunicando]]\n<<toggleSideBar " " " " hide>>
[[MonkeyPirateTiddlyWiki|http://mptw.tiddlyspot.com]] is a distribution of [[TiddlyWiki|http://www.tiddlywiki.com/]] created by Simon Baird. See [[the web site|http://mptw.tiddlyspot.com/]] for more information.\n!!Upgrading ~MonkeyPirateTiddlyWiki\nThis "empty" ~MonkeyPirateTiddlyWiki file comes pre-installed with the core ~MonkeyPirateTiddlyWiki plugins. You can upgrade these core plugins to the latest version by doing the following:\n* Click ImportTiddlers\n* Click "Choose..." and select "~MptwUpgradeURL"\n* Click "fetch"\n* Click the checkbox in the first column heading to select all tiddlers\n* Click "More actions..." and select "Import these tiddlers"\n* Click "OK" to confirm you want to overwrite the tiddlers\n* Save and reload\n
/***\n|''Name:''|MoveablePanelPlugin|\n|''Source:''|http://www.TiddlyTools.com/#MoveablePanelPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nAdd move, size, max/restore mouse event handling and fold/unfold, hover/scroll, and close/dock toolbar command items to any floating panel or tiddler. (see NestedSlidersPlugin for floating panel syntax/usage).\n\n!!!!!Usage\n<<<\nsyntax: {{{<<moveablePanel>>}}}\n\nexample: //using NestedSlidersPlugin 'floating panel' syntax//\n//{{{\n+++^30em^[panel]<<moveablePanel>>this is a headline for the panel\n----\n this is a moveable floating panel\n with a few lines of text\n as an example for you to try...\n //note: this line is really long so you can see what happens to word wrapping when you re-size this panel//\n===\n//}}}\nTry it: +++^30em^[panel]<<moveablePanel>>this is a headline for the panel\n----\n this is a moveable floating panel\n with a few lines of text\n as an example for you to try...\n //note: this line is really long so you can see what happens to word wrapping when you re-size this panel//\n===\n\n\nWhen the mouse is just inside the edges of the tiddler/panel, the cursor will change to a "crossed-arrows" symbol, indicating that the panel is "moveable". Grab (click-hold) the panel anywhere in the edge area and then drag the mouse to reposition the panel.\n\nTo resize the panel, hold the ''shift'' key and then grab the panel: the cursor will change to a "double-arrow" symbol. Drag a side edge of the panel to stretch horizontally or vertically, or drag a corner of the panel to stretch in both dimensions at once.\n\nDouble-clicking anywhere in the edge area of a panel will 'maximize' it to fit the current browser window.\n\nWhen the mouse is anywhere over a panel (not just near the edge), a 'toolbar menu' appears in the ''upper right corner'', with the following command items:\n*fold/unfold: ''fold'' temporarily reduces the panel height to show just one line of text. ''unfold'' restores the panel height.\n*hover/scroll: when you scroll the browser window, the moveable panels scroll with it. ''hover'' lets you keep a panel in view, while the rest of the page content moves in the window. ''scroll'' restores the default scrolling behavior for the panel. //Note: Due to browser limitations, this feature is not currently available when using Internet Explorer (v6 or lower)... sorry.//\n*close: ''close'' hides a panel from the page display. If you have moved/resized a panel, closing it restores its default position and size.\n*dock: unlike a floating panel, a moveable //tiddler// does not "float" on the page until it has actually been moved from its default position. When moving a tiddler, the ''close'' command is replaced with ''dock'', which restores the tiddler to its default //non-floating// location on the page.\n<<<\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''MoveablePanelPlugin'' (tagged with <<tag systemConfig>>)\nNote: for compatibility, please also install the current version of ''NestedSlidersPlugin''.\n<<<\n!!!!!Revision History\n<<<\n''2006.05.25 [1.3.3]'' in closePanel(), use p.button.onclick() so that normal processing (updating slider button tooltip, access key, etc.) is performed\n''2006.05.11 [1.3.2]'' doc update\n''2006.05.11 [1.3.1]'' re-define all functions within moveablePanel object (eliminate global window.* function definitions (and some "leaky closures" in IE)\n''2006.05.11 [1.3.0]'' converted from inline javascript to true plugin\n''2006.05.09 [1.2.3]'' in closePanel(), set focus to sliderpanel button (if any)\n''2006.05.02 [1.2.2]'' in MoveOrSizePanel(), calculate adjustments for top and left when inside nested floating panels\n''2006.04.06 [1.2.1]'' in getPanel(), allow redefinition or bypass of "moveable" tag (changed from hard-coded "tearoff")\n''2006.03.29 [1.2.0]'' in getPanel(), require "tearoff" tag to enable floating tiddlers\n''2006.03.13 [1.1.0]'' added handling for floating tiddlers and conditional menu display\n''2006.03.06 [1.0.2]'' set move or resize cursor during mousetracking\n''2006.03.05 [1.0.1]'' use "window" vs "document.body" so mousetracking in FF doesn't drop the panel when moving too quickly\n''2006.03.04 [1.0.0]'' Initial public 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.moveablePanel= {major: 1, minor: 3, revision: 3, date: new Date(2006,5,25)};\n//}}}\n//{{{\nconfig.macros.moveablePanel= { \n handler:\n function(place,macroName,params) {\n var p=this.getPanel(place); if (!p) return;\n\n // remember original panel event handlers, size, location, border\n if (!p.saved) p.saved= {\n mouseover: p.onmouseover,\n mouseout: p.onmouseout,\n dblclick: p.ondblclick,\n top: p.style.top,\n left: p.style.left,\n width: p.style.width,\n height: p.style.height,\n position: p.style.position,\n border: p.style.border\n };\n\n // create control menu items\n var menupos=p.className=="floatingPanel"?"float:right;":"position:absolute;right:2em;top:3em;";\n var menustyle=p.className!="floatingPanel"?'style="border:1px solid #666;background:#ccc;color:#000;padding:0px .5em;"':"";\n var html='<div style="font-size:7pt;display:none;'+menupos+'"> ';\n if (p.className=="floatingPanel")\n html+='<a href="javascript:;" title="reduce panel size" '+menustyle\n +' onclick="return config.macros.moveablePanel.foldPanel(this,event)">fold</a> ';\n if (!config.browser.isIE)\n html+='<a href="javascript:;" title="keep panel in view when scrolling"'+menustyle\n +' onclick="return config.macros.moveablePanel.hoverPanel(this,event)">hover</a> ';\n if (p.className=="floatingPanel")\n html+='<a href="javascript:;" title="close panel and reset to default size and position"'+menustyle\n +' onclick="return config.macros.moveablePanel.closePanel(this,event)">close</a>';\n else\n html+='<a href="javascript:;" title="reset panel to default size and position"'+menustyle\n +' onclick="return config.macros.moveablePanel.closePanel(this,event)">dock</a>';\n html+='</div>';\n p.menudiv=createTiddlyElement(place,"span");\n p.menudiv.innerHTML=html;\n\n // init mouse handling and tooltip\n p.title="drag edge to move, shift key=stretch, double-click=max/restore";\n p.onmouseover=function(event) {\n if (this.className=="floatingPanel"||this.style.position=="absolute"||this.style.position=="fixed") {\n if (this.className!="floatingPanel") this.style.border="1px dotted #999"; // border around tiddler\n this.menudiv.firstChild.style.display="inline";\n }\n if (this.saved.mouseover) return this.saved.mouseover(event);\n };\n p.onmouseout=function(event) {\n this.menudiv.firstChild.style.display="none";\n if (this.className!="floatingPanel") this.style.border=this.saved.border;\n if (this.saved.mouseout) return this.saved.mouseout(event);\n };\n p.ondblclick=function(event) {\n if (!config.macros.moveablePanel.maximizePanel(this,event)) return false; // processed\n return this.saved.dblclick?this.saved.dblclick(event):true;\n };\n p.onmousemove=function(event) { return config.macros.moveablePanel.setCursorPanel(this,event); };\n p.onmousedown=function(event) { return config.macros.moveablePanel.moveOrSizePanel(this,event); };\n },\n\n getPanel:\n function(place) {\n var p=place; while (p && p.className!='floatingPanel') p=p.parentNode; if (p) return p; // floatingPanel\n p=story.findContainingTiddler(place); if (!p || !store.getTiddler(p.getAttribute("tiddler"))) return null; // not in a tiddler\n\n // moveable **tiddlers** in IE have LOTS of problems... DISABLED FOR NOW... but floating panels still work in IE\n if (config.browser.isIE) return null;\n\n // tiddlers tagged (e.g. with "moveable") to allow movement? use null or "" to bypass tag check\n var tag="moveable"; if (!tag || !tag.trim().length) return p;\n return (store.getTiddler(p.getAttribute("tiddler")).tags.find(tag)!=null)?p:null; // tiddler is tagged for moving\n },\n\n processed:\n function(event) {\n event.cancelBubble=true; if (event.stopPropagation) event.stopPropagation(); return false;\n },\n\n getClientWidth:\n function() {\n if(document.width!=undefined) return document.width;\n if(document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;\n if(document.body && document.body.clientWidth) return document.body.clientWidth;\n if(window.innerWidth!=undefined) return window.innerWidth;\n return 100; // should never get here\n },\n\n closePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (p.hover) this.hoverPanel(p.hoverButton,event); \n if (p.folded) this.foldPanel(p.foldButton,event); \n p.maxed=false; \n p.style.top=p.saved.top;\n p.style.left=p.saved.left;\n p.style.width=p.saved.width;\n p.style.height=p.saved.height;\n p.style.position=p.saved.position;\n if (p.button) { p.button.focus(); onClickNestedSlider({target:p.button}); } // click on slider "button" (if any) to close the panel\n return this.processed(event);\n },\n\n foldPanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (!p.foldButton) p.foldButton=place;\n if (p.folded) {\n p.style.height=p.folded_savedheight;\n p.style.overflow=p.folded_savedoverflow;\n } else {\n p.folded_savedheight=p.style.height; p.style.height="1em"; \n p.folded_savedoverflow=p.style.overflow; p.style.overflow="hidden";\n }\n p.folded=!p.folded;\n place.innerHTML=p.folded?"unfold":"fold";\n place.title=p.folded?"restore panel size":"reduce panel size";\n return this.processed(event);\n },\n\n hoverPanel:\n function(place,event) {\n if (config.browser.isIE) { return this.processed(event); } // 'fixed' position is not handled properly by IE :-(\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n if (!p.hoverButton) p.hoverButton=place;\n if (p.hover)\n p.style.position=p.hover_savedposition;\n else\n { p.hover_savedposition=p.style.position; p.style.position="fixed"; }\n p.hover=!p.hover;\n place.innerHTML=p.hover?"scroll":"hover";\n place.title=p.hover?"make panel move with page when scrolling":"keep panel in view when scrolling page";\n return this.processed(event);\n },\n\n maximizePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight))\n return true; // not near an edge... let double click bubble through\n if (p.folded) this.foldPanel(p.foldButton,event); // unfold panel first (if needed)\n if (p.maxed) {\n p.style.top=p.max_savedtop;\n p.style.left=p.max_savedleft;\n p.style.width=p.max_savedwidth;\n p.style.height=p.max_savedheight;\n p.style.position=p.max_savedposition;\n } else {\n p.max_savedwidth=p.style.width;\n p.max_savedheight=p.style.height;\n p.max_savedtop=p.style.top;\n p.max_savedleft=p.style.left;\n p.max_savedposition=p.style.position;\n // IE gets the percentage stretch wrong if floating panel is inside a table\n p.style.width=config.browser.isIE?(getClientWidth()*0.95+"px"):"95%";\n p.style.height="95%";\n p.style.top=p.style.left='1em';\n p.style.position="absolute";\n }\n p.maxed=!p.maxed;\n return this.processed(event);\n },\n\n setCursorPanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight))\n { p.style.cursor="auto"; if (!p.savedtitle) p.savedtitle=p.title; p.title=""; }\n else {\n p.style.cursor=!event.shiftKey?"move":((isTop?'n':(isBottom?'s':''))+(isLeft?'w':(isRight?'e':''))+'-resize');\n if (p.savedtitle) p.title=p.savedtitle;\n }\n return true; // let mouseover event bubble through\n },\n\n moveOrSizePanel:\n function(place,event) {\n if (!event) var event=window.event;\n var p=this.getPanel(place); if (!p) return true;\n var left=findPosX(p); var top=findPosY(p);\n var width=p.offsetWidth; var height=p.offsetHeight;\n var x=!config.browser.isIE?event.pageX:event.clientX;\n var y=!config.browser.isIE?event.pageY:event.clientY;\n if (x<left||x>=left+width||y<top||y>=top+height) return true; // not inside panel, let mousedown bubble through\n var edgeWidth=10; var edgeHeight=10;\n var isTop=(y-top<edgeHeight);\n var isLeft=(x-left<edgeWidth);\n var isBottom=(top+height-y<edgeHeight);\n var isRight=(left+width-x<edgeWidth);\n if (!(isTop||isLeft||isBottom||isRight)) return true; // not near an edge... let mousedown bubble through\n \n // when resizing, change cursor to show directional (NSEW) "drag arrows"\n var sizing=event.shiftKey; // remember this for use during mousemove tracking\n if (sizing) p.style.cursor=((isTop?'n':(isBottom?'s':''))+(isLeft?'w':(isRight?'e':''))+'-resize');\n \n var adjustLeft=0; var adjustTop=0;\n var pp=p.parentNode; while (pp && pp.className!="floatingPanel") pp=pp.parentNode;\n if (pp) { adjustLeft=findPosX(pp); adjustTop=findPosY(pp); }\n \n // start tracking mousemove events\n config.macros.moveablePanel.activepanel=p;\n var target=p; // if 'capture' handling not supported, track within panel only\n if (document.body.setCapture) { document.body.setCapture(); var target=document.body; } // IE\n if (window.captureEvents) { window.captureEvents(Event.MouseMove|Event.MouseUp,true); var target=window; } // moz\n if (target.onmousemove!=undefined) target.saved_mousemove=target.onmousemove;\n target.onmousemove=function(e){\n if (!e) var e=window.event;\n var p=config.macros.moveablePanel.activepanel;\n if (!p) { this.onmousemove=this.saved_mousemove?this.saved_mousemove:null; return; }\n \n // PROBLEM: p.offsetWidth and p.offsetHeight do not seem to account for padding or borders\n // WORKAROUND: subtract padding and border (in px) when calculating new panel width and height\n // TBD: get these values from p.style... convert to px as needed.\n var paddingWidth=10.6667; var paddingHeight=10.6667;\n var borderWidth=1; var borderHeight=1;\n var adjustWidth=-(paddingWidth*2+borderWidth*2);\n var adjustHeight=-(paddingHeight*2+borderHeight*2);\n \n if (p.style.position!="absolute") { // convert relative DIV to movable absolute DIV\n p.style.position="absolute";\n p.style.left=left+"px"; p.style.top=top+"px";\n p.style.width=(width+adjustWidth)+"px"; p.style.top=(height+adjustHeight)+"px";\n }\n var newX=!config.browser.isIE?e.pageX:e.clientX;\n var newY=!config.browser.isIE?e.pageY:e.clientY;\n if (sizing) { // resize panel\n // don't let panel get smaller than edge "grab" zones\n var minWidth=edgeWidth*2-adjustWidth;\n var minHeight=edgeHeight*2-adjustHeight;\n p.maxed=false; // make sure panel is not maximized\n if (p.folded) this.foldPanel(p.foldButton,e); // make sure panel is unfolded\n if (isBottom) var newHeight=height+newY-y+1;\n if (isTop) var newHeight=height-newY+y+1;\n if (isLeft) var newWidth=width-newX+x+1;\n if (isRight) var newWidth=width+newX-x+1;\n if (isLeft||isRight) p.style.width=(newWidth>minWidth?newWidth:minWidth)+adjustWidth+"px";\n if (isLeft) p.style.left=left-adjustLeft+newX-x+1+"px";\n if (isTop||isBottom) p.style.height=(newHeight>minHeight?newHeight:minHeight)+adjustHeight+"px";\n if (isTop) p.style.top=top-adjustTop+newY-y+1+"px";\n } else { // move panel\n p.style.top=top-adjustTop+newY-y+1+"px";\n p.style.left=left-adjustLeft+newX-x+1+"px";\n }\n var status=sizing?("size: "+p.style.width+","+p.style.height):("pos: "+p.style.left+","+p.style.top);\n window.status=status.replace(/(\s.[0-9]+)|px/g,""); // remove decimals and "px"\n return config.macros.moveablePanel.processed(e);\n };\n \n // stop tracking mousemove events\n if (target.onmouseup!=undefined) target.saved_mouseup=target.onmouseup;\n target.onmouseup=function(e){\n if (!e) var e=window.event;\n if (this.releaseCapture) this.releaseCapture(); // IE\n if (this.releaseEvents) this.releaseEvents(Event.MouseMove|Event.MouseUp); // moz\n this.onmousemove=this.saved_mousemove?this.saved_mousemove:null;\n this.onmouseup=this.saved_mouseup?this.saved_mouseup:null;\n config.macros.moveablePanel.activepanel=null;\n window.status="";\n return config.macros.moveablePanel.processed(e);\n };\n return this.processed(event); // mousedown handled\n }\n};\n//}}}
/***\n| Name:|NewHerePlugin|\n| Description:|Creates the new here and new journal macros|\n| Version:|3.0 ($Rev: 1845 $)|\n| Date:|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source:|http://mptw.tiddlyspot.com/#NewHerePlugin|\n| Author:|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n***/\n//{{{\nmerge(config.macros, {\n newHere: {\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n wikify("<<newTiddler "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);\n }\n },\n newJournalHere: {\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n wikify("<<newJournal "+paramString+" tag:[["+tiddler.title+"]]>>",place,null,tiddler);\n }\n }\n});\n\n//}}}\n\n
/***\n|''Name:''|NestedSlidersPlugin|\n|''Source:''|http://www.TiddlyTools.com/#NestedSlidersPlugin|\n|''Author:''|Eric Shulman - ELS Design Studios|\n|''License:''|[[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|''~CoreVersion:''|2.0.10|\n\nQuickly make any tiddler content into an expandable 'slider' panel, without needing to create a separate tiddler to contain the slider content. Optional syntax allows ''default to open'', ''custom button label/tooltip'' and ''automatic blockquote formatting.''\n\nYou can also 'nest' these sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created. This is most useful when converting existing in-line text content to create in-line annotations, footnotes, context-sensitive help, or other subordinate information displays.\n\nFor more details, please click on a section headline below:\n++++!!!!![Configuration]>\nDebugging messages for 'lazy sliders' deferred rendering:\n<<option chkDebugLazySliderDefer>> show debugging alert when deferring slider rendering\n<<option chkDebugLazySliderRender>> show debugging alert when deferred slider is actually rendered\n===\n++++!!!!![Usage]>\nWhen installed, this plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content. Use {{{+++}}} and {{{===}}} to delimit the slider content. Additional optional syntax elements let you specify\n*default to open\n*cookiename\n*heading level\n*floater (with optional CSS width value)\n*mouse auto rollover\n*custom class/label/tooltip/accesskey\n*automatic blockquote\n*deferred rendering\nThe complete syntax, using all options, is:\n//{{{\n++++(cookiename)!!!!!^width^*{{class{[label=key|tooltip]}}}>...\ncontent goes here\n===\n//}}}\nwhere:\n* {{{+++}}} (or {{{++++}}}) and {{{===}}}^^\nmarks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.^^\n* {{{(cookiename)}}}^^\nsaves the slider opened/closed state, and restores this state whenever the slider is re-rendered.^^\n* {{{!}}} through {{{!!!!!}}}^^\ndisplays the slider label using a formatted headline (Hn) style instead of a button/link style^^\n* {{{^width^}}} (or just {{{^}}})^^\nmakes the slider 'float' on top of other content rather than shifting that content downward. 'width' must be a valid CSS value (e.g., "30em", "180px", "50%", etc.). If omitted, the default width is "auto" (i.e., fit to content)^^\n* {{{*}}}^^\nautomatically opens/closes slider on "rollover" as well as when clicked^^\n* {{{{{class{[label=key|tooltip]}}}}}}^^\nuses custom label/tooltip/accesskey. {{{{{class{...}}}}}}, {{{=key}}} and {{{|tooltip}}} are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. Default labels/tootips are: ">" (more) and "<" (less), with no default access key assignment.^^\n* {{{">"}}} //(without the quotes)//^^\nautomatically adds blockquote formatting to slider content^^\n* {{{"..."}}} //(without the quotes)//^^\ndefers rendering of closed sliders until the first time they are opened. //Note: deferred rendering may produce unexpected results in some cases. Use with care.//^^\n\n//Note: to make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the {{{+++}}} 'start slider' or preceding the {{{===}}} 'end slider' sequence are automatically supressed so that excess whitespace is eliminated from the output.//\n===\n++++!!!!![Examples]>\nsimple in-line slider: \n{{{\n+++\n content\n===\n}}}\n+++\n content\n===\n----\nuse a custom label and tooltip: \n{{{\n+++[label|tooltip]\n content\n===\n}}}\n+++[label|tooltip]\n content\n===\n----\ncontent automatically blockquoted: \n{{{\n+++>\n content\n===\n}}}\n+++>\n content\n===\n----\nall options combined //(default open, cookie, heading, sized floater, rollover, class, label/tooltip/key, blockquoted, deferred)//\n{{{\n++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...\n content\n===\n}}}\n++++(testcookie)!!!^30em^*{{big{[label=Z|click or press Alt-Z to open]}}}>...\n content\n===\n----\ncomplex nesting example:\n{{{\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n}}}\n+++^[get info...=I|click for information or press Alt-I]\n put some general information here, plus a floating slider with more specific info:\n +++^10em^[view details...|click for details]\n put some detail here, which could include a rollover with a +++^25em^*[glossary definition]explaining technical terms===\n ===\n===\n===\n!!!!!Installation\n<<<\nimport (or copy/paste) the following tiddlers into your document:\n''NestedSlidersPlugin'' (tagged with <<tag systemConfig>>)\n<<<\n!!!!!Revision History\n<<<\n''2006.07.28 - 2.0.0'' added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}\n''2006.07.25 - 1.9.3'' when parsing slider, save default open/closed state in button element, then in onClickNestedSlider(), if slider state matches saved default, instead of saving cookie, delete it. Significantly reduces the 'cookie overhead' when default slider states are used.\n''2006.06.29 - 1.9.2'' in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"\n''2006.06.22 - 1.9.1'' added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value\n''2006.05.11 - 1.9.0'' added optional '^width^' syntax for floating sliders and '=key' syntax for setting an access key on a slider label\n''2006.05.09 - 1.8.0'' in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element\n''2006.04.24 - 1.7.8'' in adjustSliderPos(), if floating panel is contained inside another floating panel, subtract offset of containing panel to find correct position\n''2006.02.16 - 1.7.7'' corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie\n''2006.02.15 - 1.7.6'' in adjustSliderPos(), ensure that floating panel is positioned completely within the browser window (i.e., does not go beyond the right edge of the browser window)\n''2006.02.04 - 1.7.5'' add 'var' to unintended global variable declarations to avoid FireFox 1.5.0.1 crash bug when assigning to globals\n''2006.01.18 - 1.7.4'' only define adjustSliderPos() function if it has not already been provided by another plugin. This lets other plugins 'hijack' the function even when they are loaded first.\n''2006.01.16 - 1.7.3'' added adjustSliderPos(place,btn,panel,panelClass) function to permit specialized logic for placement of floating panels. While it provides improved placement for many uses of floating panels, it exhibits a relative offset positioning error when used within *nested* floating panels. Short-term workaround is to only adjust the position for 'top-level' floaters.\n''2006.01.16 - 1.7.2'' added button property to slider panel elements so that slider panel can tell which button it belongs to. Also, re-activated and corrected animation handling so that nested sliders aren't clipped by hijacking Slider.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends\n''2006.01.14 - 1.7.1'' added optional "^" syntax for floating panels. Defines new CSS class, ".floatingPanel", as an alternative for standard in-line ".sliderPanel" styles.\n''2006.01.14 - 1.7.0'' added optional "*" syntax for rollover handling to show/hide slider without requiring a click (Based on a suggestion by tw4efl)\n''2006.01.03 - 1.6.2'' When using optional "!" heading style, instead of creating a clickable "Hn" element, create an "A" element inside the "Hn" element. (allows click-through in SlideShowPlugin, which captures nearly all click events, except for hyperlinks)\n''2005.12.15 - 1.6.1'' added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders\nremoved checkbox option for 'global' application of lazy sliders\n''2005.11.25 - 1.6.0'' added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)\n''2005.11.21 - 1.5.1'' revised regular expressions: if present, a single newline //preceding// and/or //following// a slider definition will be suppressed so start/end syntax can be place on separate lines in the tiddler 'source' for improved readability. Similarly, any whitespace (newlines, tabs, spaces, etc.) trailing the 'start slider' syntax or preceding the 'end slider' syntax is also suppressed.\n''2005.11.20 - 1.5.0'' added (cookiename) syntax for optional tracking and restoring of slider open/close state\n''2005.11.11 - 1.4.0'' added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style\n''2005.11.07 - 1.3.0'' removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other\nformatting extensions) and simplified/improved regular expressions to trim multiple excess newlines\n''2005.11.05 - 1.2.1'' changed name to NestedSlidersPlugin\nmore documentation\n''2005.11.04 - 1.2.0'' added alternative character-mode syntax {{{(((}}} and {{{)))}}}\ntweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax\n''2005.11.03 - 1.1.1'' fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used\ncode cleanup, added documentation\n''2005.11.03 - 1.1.0'' changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}\nchanged name to EasySlidersPlugin\n''2005.11.03 - 1.0.0'' initial public release\n<<<\n!!!!!Credits\n<<<\nThis feature was implemented by EricShulman from [[ELS Design Studios|http:/www.elsdesign.com]] with initial research and suggestions from RodneyGomes, GeoffSlocock, and PaulPetterson.\n<<<\n!!!!!Code\n***/\n//{{{\nversion.extensions.nestedSliders = {major: 2, minor: 0, revision: 0, date: new Date(2006,7,28)};\n//}}}\n\n//{{{\n// options for deferred rendering of sliders that are not initially displayed\nif (config.options.chkDebugLazySliderDefer==undefined) config.options.chkDebugLazySliderDefer=false;\nif (config.options.chkDebugLazySliderRender==undefined) config.options.chkDebugLazySliderRender=false;\n\n// default styles for 'floating' class\nsetStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \s\n background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");\n//}}}\n\n//{{{\nconfig.formatters.push( {\n name: "nestedSliders",\n match: "\s\sn?\s\s+{3}",\n terminator: "\s\ss*\s\s={3}\s\sn?",\n lookahead: "\s\sn?\s\s+{3}(\s\s+)?(\s\s([^\s\s)]*\s\s))?(\s\s!*)?(\s\s^(?:[^\s\s^\s\s*\s\s[\s\s>]*\s\s^)?)?(\s\s*)?(?:\s\s{\s\s{([\s\sw]+[\s\ss\s\sw]*)\s\s{)?(\s\s[[^\s\s]]*\s\s])?(?:\s\s}{3})?(\s\s>)?(\s\s.\s\s.\s\s.)?\s\ss*",\n handler: function(w)\n {\n // defopen=lookaheadMatch[1]\n // cookiename=lookaheadMatch[2]\n // header=lookaheadMatch[3]\n // panelwidth=lookaheadMatch[4]\n // rollover=lookaheadMatch[5]\n // class=lookaheadMatch[6]\n // label=lookaheadMatch[7]\n // blockquote=lookaheadMatch[8]\n // deferred=lookaheadMatch[9]\n\n lookaheadRegExp = new RegExp(this.lookahead,"mg");\n lookaheadRegExp.lastIndex = w.matchStart;\n var lookaheadMatch = lookaheadRegExp.exec(w.source)\n if(lookaheadMatch && lookaheadMatch.index == w.matchStart)\n {\n // location for rendering button and panel\n var place=w.output;\n\n // default to closed, no cookie, no accesskey\n var show="none"; var title="<"; var tooltip="show"; var cookie=""; var key="";\n\n // extra "+", default to open\n if (lookaheadMatch[1])\n { show="block"; title=">"; tooltip="hide"; }\n\n // cookie, use saved open/closed state\n if (lookaheadMatch[2]) {\n cookie=lookaheadMatch[2].trim().slice(1,-1);\n cookie="chkSlider"+cookie;\n if (config.options[cookie]==undefined)\n { config.options[cookie] = (show=="block") }\n if (config.options[cookie])\n { show="block"; title="<"; tooltip="hide"; }\n else\n { show="none"; title=">"; tooltip="show"; }\n }\n\n // parse custom label/tooltip/accesskey: [label=X|tooltip]\n if (lookaheadMatch[7]) {\n title = lookaheadMatch[7].trim().slice(1,-1);\n var pos=title.indexOf("|");\n if (pos!=-1) { tooltip = title.substr(pos+1,title.length); title=title.substr(0,pos); }\n if (title.substr(title.length-2,1)=="=") { key=title.substr(title.length-1,1); title=title.slice(0,-2); }\n if (pos==-1) tooltip += " "+title; // default tooltip: "show/hide <title>"\n }\n\n // create the button\n if (lookaheadMatch[3]) { // use "Hn" header format instead of button/link\n var lvl=(lookaheadMatch[3].length>6)?6:lookaheadMatch[3].length;\n var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,lookaheadMatch[6],title);\n btn.onclick=onClickNestedSlider;\n btn.setAttribute("href","javascript:;");\n btn.setAttribute("title",tooltip);\n }\n else\n var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,lookaheadMatch[6]);\n\n // set extra button attributes\n btn.sliderCookie = cookie; // save the cookiename (if any) in the button object\n btn.defOpen=lookaheadMatch[1]!=null; // save default open/closed state (boolean)\n btn.keyparam=key; // save the access key letter ("" if none)\n if (key.length) {\n btn.setAttribute("accessKey",key); // init access key\n btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus\n }\n\n // "non-click" MouseOver open/close slider\n if (lookaheadMatch[5]) btn.onmouseover=onClickNestedSlider;\n\n // create slider panel\n var panelClass=lookaheadMatch[4]?"floatingPanel":"sliderPanel";\n var panel=createTiddlyElement(place,"div",null,panelClass,null);\n panel.button = btn; // so the slider panel know which button it belongs to\n panel.defaultPanelWidth=(lookaheadMatch[4] && lookaheadMatch[4].length>2)?lookaheadMatch[4].slice(1,-1):""; // save requested panel size\n btn.sliderPanel=panel;\n panel.style.display = show;\n panel.style.width=panel.defaultPanelWidth;\n\n // render slider (or defer until shown) \n w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;\n if ((show=="block")||!lookaheadMatch[9]) {\n // render now if panel is supposed to be shown or NOT deferred rendering\n w.subWikify(lookaheadMatch[8]?createTiddlyElement(panel,"blockquote"):panel,this.terminator);\n // align slider/floater position with button\n adjustSliderPos(place,btn,panel,panelClass);\n }\n else {\n var src = w.source.substr(w.nextMatch);\n var endpos=findMatchingDelimiter(src,"+++","===");\n panel.setAttribute("raw",src.substr(0,endpos));\n panel.setAttribute("blockquote",lookaheadMatch[8]?"true":"false");\n panel.setAttribute("rendered","false");\n w.nextMatch += endpos+3;\n if (w.source.substr(w.nextMatch,1)=="\sn") w.nextMatch++;\n if (config.options.chkDebugLazySliderDefer) alert("deferred '"+title+"':\sn\sn"+panel.getAttribute("raw"));\n }\n }\n }\n }\n)\n\n// TBD: ignore 'quoted' delimiters (e.g., "{{{+++foo===}}}" isn't really a slider)\nfunction findMatchingDelimiter(src,starttext,endtext) {\n var startpos = 0;\n var endpos = src.indexOf(endtext);\n // check for nested delimiters\n while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {\n // count number of nested 'starts'\n var startcount=0;\n var temp = src.substring(startpos,endpos-1);\n var pos=temp.indexOf(starttext);\n while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }\n // set up to check for additional 'starts' after adjusting endpos\n startpos=endpos+endtext.length;\n // find endpos for corresponding number of matching 'ends'\n while (startcount && endpos!=-1) {\n endpos = src.indexOf(endtext,endpos+endtext.length);\n startcount--;\n }\n }\n return (endpos==-1)?src.length:endpos;\n}\n//}}}\n\n//{{{\nwindow.onClickNestedSlider=function(e)\n{\n if (!e) var e = window.event;\n var theTarget = resolveTarget(e);\n var theLabel = theTarget.firstChild.data;\n var theSlider = theTarget.sliderPanel\n var isOpen = theSlider.style.display!="none";\n // if using default button labels, toggle labels\n if (theLabel==">") theTarget.firstChild.data = "<";\n else if (theLabel=="<") theTarget.firstChild.data = ">";\n // if using default tooltips, toggle tooltips\n if (theTarget.getAttribute("title")=="show")\n theTarget.setAttribute("title","hide");\n else if (theTarget.getAttribute("title")=="hide")\n theTarget.setAttribute("title","show");\n if (theTarget.getAttribute("title")=="show "+theLabel)\n theTarget.setAttribute("title","hide "+theLabel);\n else if (theTarget.getAttribute("title")=="hide "+theLabel)\n theTarget.setAttribute("title","show "+theLabel);\n // deferred rendering (if needed)\n if (theSlider.getAttribute("rendered")=="false") {\n if (config.options.chkDebugLazySliderRender)\n alert("rendering '"+theLabel+"':\sn\sn"+theSlider.getAttribute("raw"));\n var place=theSlider;\n if (theSlider.getAttribute("blockquote")=="true")\n place=createTiddlyElement(place,"blockquote");\n wikify(theSlider.getAttribute("raw"),place);\n theSlider.setAttribute("rendered","true");\n }\n // show/hide the slider\n if(config.options.chkAnimate)\n anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));\n else\n theSlider.style.display = isOpen ? "none" : "block";\n // reset to default width (might have been changed via plugin code)\n theSlider.style.width=theSlider.defaultPanelWidth;\n // align slider/floater position with target button\n if (!isOpen) adjustSliderPos(theSlider.parentNode,theTarget,theSlider,theSlider.className);\n // if showing panel, set focus to first 'focus-able' element in panel\n if (theSlider.style.display!="none") {\n var ctrls=theSlider.getElementsByTagName("*");\n for (var c=0; c<ctrls.length; c++) {\n var t=ctrls[c].tagName.toLowerCase();\n if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")\n { ctrls[c].focus(); break; }\n }\n }\n if (this.sliderCookie && this.sliderCookie.length) {\n config.options[this.sliderCookie]=!isOpen;\n if (config.options[this.sliderCookie]!=this.defOpen)\n saveOptionCookie(this.sliderCookie);\n else { // remove cookie if slider is in default display state\n var ex=new Date(); ex.setTime(ex.getTime()-1000);\n document.cookie = this.sliderCookie+"=novalue; path=/; expires="+ex.toGMTString();\n }\n }\n return false;\n}\n\n// hijack animation handler 'stop' handler so overflow is visible after animation has completed\nSlider.prototype.coreStop = Slider.prototype.stop;\nSlider.prototype.stop = function() { this.coreStop(); this.element.style.overflow = "visible"; }\n\n// adjust panel position based on button position\nif (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel,panelClass) {\n if (panelClass=="floatingPanel") {\n var left=0;\n var top=btn.offsetHeight; \n if (place.style.position!="relative") {\n var left=findPosX(btn);\n var top=findPosY(btn)+btn.offsetHeight;\n var p=place; while (p && p.className!='floatingPanel') p=p.parentNode;\n if (p) { left-=findPosX(p); top-=findPosY(p); }\n }\n if (left+panel.offsetWidth > getWindowWidth()) left=getWindowWidth()-panel.offsetWidth-10;\n panel.style.left=left+"px"; panel.style.top=top+"px";\n }\n}\n\nfunction getWindowWidth() {\n if(document.width!=undefined)\n return document.width; // moz (FF)\n if(document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )\n return document.documentElement.clientWidth; // IE6\n if(document.body && ( document.body.clientWidth || document.body.clientHeight ) )\n return document.body.clientWidth; // IE4\n if(window.innerWidth!=undefined)\n return window.innerWidth; // IE - general\n return 0; // unknown\n}\n//}}}
<<tiddler Slide_Show>>\n
!O Futuro\n\nDevemos pensar bem nosso futuro. Lembrando que as Mudanças Climaticas, o Pico do Petroleo e o Pico dos Solos são acontecendo a juntos.\n\nCom suficiente energia e tecnologia podemos tirar carbono da atmosfera e sequestar ele em lagos enormes de 3km de profundidade por abaixo o mar, como o IPCC esta falando. E não temos o tempo (10 anos para desenvolvir a tecnologia) ni o petroleo por esta opção.\n\nCom sufficiente petroleo podemos produzir alcool de cana. Sem petoleo (por as tratores, por as ageoquimicas, por a coleta, transporte, processamento e distribuição) a [[Lucro Energetico]] do cana não será sufficiente manter nossa cultura existente.\n\nO futuro vai depender como nós reagir estas trés desafios ''a mesmo tempo''.\n\nAlgumas propostas para começar -\n*[[Reunião e Apresentação nos Nucleos (com Skye e Ivone Riquelme)]]\n*[[Formar Grupo do Estudo]]\n*[[Promover Cursos e Oficinas]] \n*[[Ações por Individuais (seguindo Henrique Ortega)]]
<div id='header' class='header' macro='gradient vert #555555 #003399 '>\n\n <div class='siteTitle' refresh='content' tiddler='SiteTitle'></div>\n <span id='topMenu' refresh='content' tiddler='MainMenu'></span>\n</div>\n\n<div id='sidebar'>\n<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>\n<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>\n</div>\n<div id='displayArea'>\n<div id='messageArea'></div>\n<div id='tiddlerDisplay'></div>\n</div>\n<!--}}}-->
!O Pico do Petroleo\nO ''Pico do Petroleo'' está a fase usado por a fenomena da ciaida do taxa de produção de petroleo, que todas as campo de petroleo passou, ou esta passando agora. Nota, que o petroleo não vai acaba com rapidez. Teremos petroleo por outra 50 ou mas aos. O Pico do Petroleo refere a disminuição gradual do volumen de petroleo que será produzida e que será disponivel. Originalmente as cientisticas pensavam que a produção vai ciair a taxa de 6% ou 7% por ano (nota 7% por ano significa que a petroleo disponivel en 10 anos será mitade!). Recente o campo enorme do Mexico (a Cantarel) caio 25% en 2005, 20% en 2006 e ainda esta caindo!!! Pode ser vamos enfrentar um restringa de petroleo mais rapsio que pensamos!!!\n\n!!!Estamos Preparados??\n\nver artigos abaxo
!O Pico dos Solos\n[>img[tooltip|concern-small.gif]] \nNão ache muito informação a respeito o Pico dos Solos em portugues. En inglis tem algums artigos falando da preocupação das condições dos solos en geral. Isso será especialmente importante no contexto do produção de biodeisel ou alcool. Os politicos e o media esta apresentando a ideia que não precisamos preocupar com petroleo porque vamos simplesmente substituir petroleo por alcool ou biodiesel.\n\nPrecisamos lembrar que estamos falando de safras que necsisitan terras boas, quimicas agriculas (feitos com...petroleo?), maquinaria (usando...petroleo?) e um clima estavel e confiavel (?). \n\n\nA mapa feito por World Resources Institute/WRI (EUA) mostra os solos dequasi todo Brasil, são considerados internacionalmnete como ''precupação seria'' (vermelha) ou ''preocupação'' (laranja). Nota que quasi todo o Cerrado, e todo Mato Gross do Sul, esta vermelha!!!\n\nA mapa produzida por a Nações Unidas e a Comite Internacional das Ciencas dos Solos (Nederlandia) mostra a mesmo preocupação.\n\nPor Brasil, o WRI dizen que as cuasas principais deste degradação de nossos solos são deflorestação, atividades de pequaristas e practicas agricolas (en este orden)
Oficina de Produtos de Limpeza Ecológicos\n\nData: 15 de julho de 2007, Núcleo Senhora Santana, ministrado por Sara Abes do Núcleo São João Batista de São Paulo.
!Projetos\n\nLista de projetos e planejamento ou atualização para a Novo Encanto - MS\n<<tagging [[Projetos]]>>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
/***\n| Name|QuickOpenTagPlugin|\n| Description|Changes tag links to make it easier to open tags as tiddlers|\n| Version|3.0 ($Rev: 1845 $)|\n| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source|http://mptw.tiddlyspot.com/#QuickOpenTagPlugin|\n| Author|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n***/\n//{{{\nconfig.quickOpenTag = {\n\n dropdownChar: (document.all ? "\su25bc" : "\su25be"), // the little one doesn't work in IE?\n\n createTagButton: function(place,tag,excludeTiddler) {\n // little hack so we can to <<tag PrettyTagName|RealTagName>>\n var splitTag = tag.split("|");\n var pretty = tag;\n if (splitTag.length == 2) {\n tag = splitTag[1];\n pretty = splitTag[0];\n }\n \n var sp = createTiddlyElement(place,"span",null,"quickopentag");\n createTiddlyText(createTiddlyLink(sp,tag,false),pretty);\n \n var theTag = createTiddlyButton(sp,config.quickOpenTag.dropdownChar,\n config.views.wikified.tag.tooltip.format([tag]),onClickTag);\n theTag.setAttribute("tag",tag);\n if (excludeTiddler)\n theTag.setAttribute("tiddler",excludeTiddler);\n return(theTag);\n },\n\n miniTagHandler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tagged = store.getTaggedTiddlers(tiddler.title);\n if (tagged.length > 0) {\n var theTag = createTiddlyButton(place,config.quickOpenTag.dropdownChar,\n config.views.wikified.tag.tooltip.format([tiddler.title]),onClickTag);\n theTag.setAttribute("tag",tiddler.title);\n theTag.className = "miniTag";\n }\n },\n\n allTagsHandler: function(place,macroName,params) {\n var tags = store.getTags();\n var theDateList = createTiddlyElement(place,"ul");\n if(tags.length == 0)\n createTiddlyElement(theDateList,"li",null,"listTitle",this.noTags);\n for (var t=0; t<tags.length; t++) {\n var theListItem = createTiddlyElement(theDateList,"li");\n var theLink = createTiddlyLink(theListItem,tags[t][0],true);\n var theCount = " (" + tags[t][1] + ")";\n theLink.appendChild(document.createTextNode(theCount));\n var theDropDownBtn = createTiddlyButton(theListItem," " +\n config.quickOpenTag.dropdownChar,this.tooltip.format([tags[t][0]]),onClickTag);\n theDropDownBtn.setAttribute("tag",tags[t][0]);\n }\n },\n\n // todo fix these up a bit\n styles: [\n"/*{{{*/",\n"/* created by QuickOpenTagPlugin */",\n".tagglyTagged .quickopentag, .tagged .quickopentag ",\n" { margin-right:1.2em; border:1px solid #eee; padding:2px; padding-right:0px; padding-left:1px; }",\n".quickopentag .tiddlyLink { padding:2px; padding-left:3px; }",\n".quickopentag a.button { padding:1px; padding-left:2px; padding-right:2px;}",\n"/* extra specificity to make it work right */",\n"#displayArea .viewer .quickopentag a.button, ",\n"#displayArea .viewer .quickopentag a.tiddyLink, ",\n"#mainMenu .quickopentag a.tiddyLink, ",\n"#mainMenu .quickopentag a.tiddyLink ",\n" { border:0px solid black; }",\n"#displayArea .viewer .quickopentag a.button, ",\n"#mainMenu .quickopentag a.button ",\n" { margin-left:0px; padding-left:2px; }",\n"#displayArea .viewer .quickopentag a.tiddlyLink, ",\n"#mainMenu .quickopentag a.tiddlyLink ",\n" { margin-right:0px; padding-right:0px; padding-left:0px; margin-left:0px; }",\n"a.miniTag {font-size:150%;} ",\n"#mainMenu .quickopentag a.button ",\n" /* looks better in right justified main menus */",\n" { margin-left:0px; padding-left:2px; margin-right:0px; padding-right:0px; }", \n"#topMenu .quickopentag { padding:0px; margin:0px; border:0px; }",\n"#topMenu .quickopentag .tiddlyLink { padding-right:1px; margin-right:0px; }",\n"#topMenu .quickopentag .button { padding-left:1px; margin-left:0px; border:0px; }",\n"/*}}}*/",\n ""].join("\sn"),\n\n init: function() {\n // we fully replace these builtins. can't hijack them easily\n window.createTagButton = this.createTagButton;\n config.macros.allTags.handler = this.allTagsHandler;\n config.macros.miniTag = { handler: this.miniTagHandler };\n config.shadowTiddlers["QuickOpenTagStyles"] = this.styles;\n store.addNotification("QuickOpenTagStyles",refreshStyles);\n }\n}\n\nconfig.quickOpenTag.init();\n\n//}}}\n
/***\n| Name|ToggleTagPlugin|\n| Description|Makes a checkbox which toggles a tag in a tiddler|\n| Version|3.0 ($Rev: 1845 $)|\n| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source|http://tiddlyspot.com/mptw/#ToggleTagMacro|\n| Author|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n!Usage\n{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}\n* TagName - the tag to be toggled, default value "checked"\n* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler\n* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'\n(If a parameter is '.' then the default will be used)\n\nExamples:\n\n|Code|Description|Example|h\n|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|\n|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|\n|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|\n|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|\n|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|\nNotes:\n* If TiddlerName doesn't exist it will be silently created\n* Set label to '-' to specify no label\n* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2\n\n!Known issues\n* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing\n\n***/\n//{{{\n\nmerge(config.macros,{\n\n toggleTag: {\n\n doRefreshAll: true,\n createIfRequired: true,\n shortLabel: "[[%0]]",\n longLabel: "[[%0]] [[%1]]",\n\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tag = (params[0] && params[0] != '.') ? params[0] : "checked";\n var title = (params[1] && params[1] != '.') ? params[1] : tiddler.title;\n var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);\n var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;\n label = (label == '-' ? '' : label);\n var theTiddler = title == tiddler.title ? tiddler : store.getTiddler(title);\n var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {\n if (!store.tiddlerExists(title)) {\n if (config.macros.toggleTag.createIfRequired) {\n var content = store.getTiddlerText(title); // just in case it's a shadow\n store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);\n }\n else \n return false;\n }\n store.setTiddlerTag(title,this.checked,tag);\n return true;\n });\n }\n }\n});\n\n//}}}\n\n
!Senhora Santana\n\nAnésio Lopes de Morais\nCarlos Nobrega de Feitas\nEmilia Aurea Banchieri\nFlavio de Oliviera Nunes\nGeancarlo de Lima Merique\nMaria Veronica da Silva\nNadieje de Freitas\nTatiano Miguel\nSkye\nIvone Riquelme
(introdução o curso)
[<img[logo.jpg]]Novo Encanto - MS
<!--{{{-->\n<div class='title' macro='view title'></div>\n<div class='viewer' macro='view text wikified'></div>\n<!--}}}-->
<<slideShow autostart>>\n\n-s-\n!Fontes Emissões - Brasil\n[>img[tooltip|Emiissões em Brasil.jpg]]\nO grafico do IPCC mostra que as principais fontes de emissões de Co2 em Brasil, são deflorestamento, practicas agricolas, transporte (carros) e construção (especialmente a produção de cimento).\n\nNota que a pequaria tambem tem impacto forte a aquecimento global alem, das emisões de metano, que é um gas estufo bem forte. \n\nEstas dois fatores ajuntos coloque Brasil como a ''4'' meior fonte de emissões de gases estufas no mundo!!!\n-s-\n!Grafico de CO2 e Temperatura do Planeta\n[>img[tooltip|carbon_dioxide.jpg]]\nNota que antiguamente CO2 (verde) não passo 300ppm, e agora esta 380ppm e subindo rapido!! Historicamente a temperatura seguirá a nivel de CO2 com rapidez - en quanto tempo ele vai chegar ate 8 degrãos - que que significa isso - lembrando que -8 degrãos foi uma era de gelo tão forte que poucos especes de animais sobrevivou!!\n-s-
Sócios!
/*{{{*/\n/*Monochrome Theme for TiddlyWiki*/\n/*Design and CSS by Saq Imtiaz*/\n/*Version 1.0*/\n/*}}}*/\n/*{{{*/\n\nbody {background:#003399; color:#ccccff; font:12px Verdana, Helvetica, sans-serif;\n }\n\n#header {padding: 0em 0em 0em 0em; background:#003399; font-family: arial,helvetica; font-size:12px;\n }\n\n.siteTitle {\npadding-top:5px;\nfloat:left;\nfont-family: 'Trebuchet MS' sans-serif;\nfont-weight: bold;\nfont-size: 24px;\ncolor:#ccccff; margin-right:2em;margin-left:0.5em;\n}\n\n#topMenu br {display:none;}\n#topMenu a, #topMenu .tiddlyLink, #topMenu .button {margin:0em; color:#666; padding:15px 15px 10px 15px;padding-top:1.6em;border:none; border-right: 1px solid #666;float:left;}\n#topMenu {border-left: 1px solid #666; float:left;margin:0;}\n#topMenu a:hover {color:#ccc; background:#003399;}\n\n#displayArea {margin-left:1.35em; margin-right:17.65em; margin-top:0.5em; padding-top:1em; padding-bottom:10px;}\n\n.tiddler {background:#003399; margin-bottom:20px; padding:1em 2em 1em 2em;}\n\na, a:hover{\ncolor:#fff;\ntext-decoration: none; background:transparent;\n}\n\n.viewer a, .viewer a:hover{border-bottom:1px dotted #fff; font-weight:normal;}\n\n.viewer .button, .editorFooter .button{\ncolor: #fff;\nborder: 1px solid #fff;\n}\n\n.viewer .button:hover,\n.editorFooter .button:hover, .viewer .button:active, .viewer .highlight,.editorFooter .button:active, .editorFooter .highlight{\ncolor: #fff;\nbackground: #003399;\nborder-color: #99ccff;\n}\n\n.title {color:#ccc; font-family:'Lucida Grande', Verdana, Sans-Serif; font-size:1.5em;\n}\n\n.subtitle, .subtitle a { color: #777; font-size: 0.95em;margin:0.2em;}\n.shadow .title{color:#777;}\n\n.toolbar {font-size:90%;}\n.selected .toolbar a {color:#666;border:0;}\n.selected .toolbar a:hover {color:#999; background:transparent;border:0;}\n\n.toolbar .button:hover, .toolbar .highlight, .toolbar .marked, .toolbar a.button:active{color:#666;border:0; background:transparent;border:0;}\n\n.tagging, .tagged {\nborder: 1px solid #555;\nbackground-color: #444;\n}\n\n.selected .tagging, .selected .tagged {\nbackground-color: #003399;\nborder: 1px solid #666;\n}\n\n.tagging .listTitle, .tagged .listTitle {\ncolor: #666;\n}\n\n.selected .tagging .listTitle, .selected .tagged .listTitle {\ncolor: #aaa;\n}\n\n.tagging .button, .tagged .button {\ncolor: #838383;\n}\n.selected .tagging .button, .selected .tagged .button {\ncolor:#99ccff;\n}\n\n.highlight, .marked {background:transparent; color:#111; border:none; text-decoration:underline;}\n\n.tagging .button:hover, .tagged .button:hover, .tagging .button:active, .tagged .button:active {\nborder: none; background:transparent; text-decoration:underline; color:#333;\n}\n\n#sidebarOptions {margin-top:1em;}\n#sidebar {margin-right:1.35em;}\n\n#sidebarTabs .tabContents { \n font-family: arial,helvetica;}\n\n#sidebarOptions a, #sidebarOptions a:hover{border:none;color:#666;}\n#sidebarOptions a:hover, #sidebarOptions a:active {background:#003399; color:#ccc;}\n#sidebarTabs .tabContents {background:#003399;border:0px solid #666; border-right:1px solid #454545;}\n#sidebarOptions input {background:#ccc; border:1px solid #666;}\n\n#sidebarTabs .tabContents .tiddlyLink, #sidebarTabs .tabContents .button{color:#666;font-weight:normal;}\n#sidebarTabs .tabContents .tiddlyLink:hover, #sidebarTabs .tabContents .button:hover {color:#ccc; background:transparent;}\n.listTitle {color:#777;}\n\n#sidebarTabs .tabSelected,#sidebarTabs .tabSelected:hover{background:#003399;border:none;color:#ccc; border:1px solid #454545;}\n#sidebarTabs .tabUnselected{background:#3B3B3B; border:1px solid #454545; color:#666;}\n\n #sidebarTabs .txtMoreTab .tabSelected,\n #sidebarTabs .txtMoreTab .tab:hover,\n #sidebarTabs .txtMoreTab .tabContents{\ncolor: #ccc;\nbackground: #003399; border:1px solid #3B3B3B;\n}\n\n #sidebarTabs .txtMoreTab .tabUnselected {\n\ncolor: #777; border:1px solid #3B3B3B;\nbackground: #003399;\n}\n\n\n#sidebarTabs .tabContents .button:hover, #sidebarTabs .tabContents .highlight, #sidebarTabs .tabContents .marked, #sidebarTabs .tabContents a.button:active{color:#ccc; background:transparent;}\n\n #sidebarOptions .sliderPanel {\nbackground: #003399; font-size: .9em;\n}\n\n#sidebarOptions .sliderPanel input {border:1px solid #666; background:#ccc;}\n#sidebarOptions .sliderPanel .txtOptionInput {border:1px solid #666;width:9em;}\n\n#sidebarOptions .sliderPanel a {font-weight:normal; color:#666;background-color: #003399; border-bottom:1px dotted #333;}\n\n#sidebarOptions .sliderPanel a:hover {\ncolor:#ccc;\nbackground-color: #003399;\nborder:none;\nborder-bottom:1px dotted #111;\n}\n\n.popup {\nbackground: #003399;\nborder: 1px solid #003399;\n}\n\n.popup li.disabled {\ncolor: #000;\n}\n\n.popup li a, .popup li a:visited {\ncolor: #777;\nborder: none;\n}\n\n.popup li a:hover {\nbackground: #003399;\ncolor: #c3c3c3;\nborder: none;\n}\n.popup hr {\n color: #777;\n background: #777;\n border-bottom: 1px;\n}\n\n.listBreak div{\n border-bottom: 1px solid #777;\n}\n\n#messageArea {\nborder: 4px dotted #ccc;\nbackground: #003399;\ncolor: #777;\nfont-size:90%;\n}\n\n#messageArea .button{\n\ncolor: #99ccff;\nbackground:#ccc;\nborder: 1px solid #ccc;\n}\n\n#messageArea .button:hover {\n\ncolor: #ccc;\nbackground: #003399;\nborder-color: #3B3B3B;\n}\n\n.viewer blockquote {\nborder-left: 5px solid #99ccff; background:#003399\n}\n\n.viewer table, .viewer td {\nborder: 1px solid #99ccff;\n}\n\n.viewer th, thead td {\nbackground: #003399;\nborder: 1px solid #003399;\ncolor: #ccc;\n}\n.viewer pre {\nborder: 1px solid #3b3b3b;\nbackground: #003399;\n}\n\n.viewer code {\ncolor: #c3c3c3; background:#003399;\n}\n\n.viewer hr {\nborder-top: dashed 1px #222; margin:0 1em;\n}\n\n.editor input {\nborder: 1px solid #ccc; margin-top:5px;\n}\n\n.editor textarea {\nborder: 1px solid #ccc;\n}\n\nh1,h2,h3,h4,h5 { color: #9c9c9c; background: #003399; padding-bottom:2px; font-family: Arial, Helvetica, sans-serif; }\nh1 {font-size:18px;}\nh2 {font-size:16px;}\nh3 {font-size: 14px;}
/*{{{*/\nbody {\n background: [[ColorPalette::Background]];\n color: [[ColorPalette::Foreground]];\n}\n\na{\n color: [[ColorPalette::PrimaryMid]];\n}\n\na:hover{\n background: [[ColorPalette::PrimaryMid]];\n color: [[ColorPalette::Background]];\n}\n\na img{\n border: 0;\n}\n\nh1,h2,h3,h4,h5 {\n color: [[ColorPalette::SecondaryDark]];\n background: [[ColorPalette::PrimaryPale]];\n}\n\n.button {\n color: [[ColorPalette::PrimaryDark]];\n border: 1px solid [[ColorPalette::Background]];\n}\n\n.button:hover {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::SecondaryLight]];\n border-color: [[ColorPalette::SecondaryMid]];\n}\n\n.button:active {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::SecondaryMid]];\n border: 1px solid [[ColorPalette::SecondaryDark]];\n}\n\n.header {\n background: [[ColorPalette::PrimaryMid]];\n}\n\n.headerShadow {\n color: [[ColorPalette::Foreground]];\n}\n\n.headerShadow a {\n font-weight: normal;\n color: [[ColorPalette::Foreground]];\n}\n\n.headerForeground {\n color: [[ColorPalette::Background]];\n}\n\n.headerForeground a {\n font-weight: normal;\n color: [[ColorPalette::PrimaryPale]];\n}\n\n.tabSelected{\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::TertiaryPale]];\n border-left: 1px solid [[ColorPalette::TertiaryLight]];\n border-top: 1px solid [[ColorPalette::TertiaryLight]];\n border-right: 1px solid [[ColorPalette::TertiaryLight]];\n}\n\n.tabUnselected {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::TertiaryMid]];\n}\n\n.tabContents {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::TertiaryPale]];\n border: 1px solid [[ColorPalette::TertiaryLight]];\n}\n\n.tabContents .button {\n border: 0;}\n\n#sidebar {\n}\n\n#sidebarOptions input {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel {\n background: [[ColorPalette::PrimaryPale]];\n}\n\n#sidebarOptions .sliderPanel a {\n border: none;\n color: [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel a:hover {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n}\n\n#sidebarOptions .sliderPanel a:active {\n color: [[ColorPalette::PrimaryMid]];\n background: [[ColorPalette::Background]];\n}\n\n.wizard {\n background: [[ColorPalette::SecondaryLight]];\n border-top: 1px solid [[ColorPalette::SecondaryMid]];\n border-left: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.wizard h1 {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.wizard h2 {\n color: [[ColorPalette::Foreground]];\n}\n\n.wizardStep {\n background: [[ColorPalette::Background]];\n border-top: 1px solid [[ColorPalette::SecondaryMid]];\n border-bottom: 1px solid [[ColorPalette::SecondaryMid]];\n border-left: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.wizard .button {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n border-top: 1px solid [[ColorPalette::PrimaryLight]];\n border-right: 1px solid [[ColorPalette::PrimaryDark]];\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n border-left: 1px solid [[ColorPalette::PrimaryLight]];\n}\n\n.wizard .button:hover {\n color: [[ColorPalette::PrimaryLight]];\n background: [[ColorPalette::PrimaryDark]];\n border-color: [[ColorPalette::PrimaryLight]];\n}\n\n.wizard .button:active {\n color: [[ColorPalette::Background]];\n background: [[ColorPalette::PrimaryMid]];\n border-top: 1px solid [[ColorPalette::PrimaryLight]];\n border-right: 1px solid [[ColorPalette::PrimaryDark]];\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n border-left: 1px solid [[ColorPalette::PrimaryLight]];\n}\n\n#messageArea {\n border: 1px solid [[ColorPalette::SecondaryDark]];\n background: [[ColorPalette::SecondaryMid]];\n color: [[ColorPalette::PrimaryDark]];\n}\n\n#messageArea .button {\n padding: 0.2em 0.2em 0.2em 0.2em;\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::Background]];\n}\n\n.popup {\n background: [[ColorPalette::PrimaryLight]];\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n.popup hr {\n color: [[ColorPalette::PrimaryDark]];\n background: [[ColorPalette::PrimaryDark]];\n border-bottom: 1px;\n}\n\n.listBreak div{\n border-bottom: 1px solid [[ColorPalette::PrimaryDark]];\n}\n\n.popup li.disabled {\n color: [[ColorPalette::PrimaryMid]];\n}\n\n.popup li a, .popup li a:visited {\n color: [[ColorPalette::TertiaryPale]];\n border: none;\n}\n\n.popup li a:hover {\n background: [[ColorPalette::PrimaryDark]];\n color: [[ColorPalette::Background]];\n border: none;\n}\n\n.tiddler .defaultCommand {\n font-weight: bold;\n}\n\n.shadow .title {\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.title {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.subtitle {\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.toolbar {\n color: [[ColorPalette::PrimaryMid]];\n}\n\n.tagging, .tagged {\n border: 1px solid [[ColorPalette::TertiaryPale]];\n background-color: [[ColorPalette::TertiaryPale]];\n}\n\n.selected .tagging, .selected .tagged {\n background-color: [[ColorPalette::TertiaryLight]];\n border: 1px solid [[ColorPalette::TertiaryMid]];\n}\n\n.tagging .listTitle, .tagged .listTitle {\n color: [[ColorPalette::PrimaryDark]];\n}\n\n.tagging .button, .tagged .button {\n border: none;\n}\n\n.footer {\n color: [[ColorPalette::TertiaryLight]];\n}\n\n.selected .footer {\n color: [[ColorPalette::TertiaryMid]];\n}\n\n.sparkline {\n background: [[ColorPalette::PrimaryPale]];\n border: 0;\n}\n\n.sparktick {\n background: [[ColorPalette::PrimaryDark]];\n}\n\n.error, .errorButton {\n color: [[ColorPalette::Foreground]];\n background: [[ColorPalette::Error]];\n}\n\n.warning {\n color: [[ColorPalette::Foreground]];\n background: [[ColorPalette::SecondaryPale]];\n}\n\n.cascade {\n background: [[ColorPalette::TertiaryPale]];\n color: [[ColorPalette::TertiaryMid]];\n border: 1px solid [[ColorPalette::TertiaryMid]];\n}\n\n.imageLink, #displayArea .imageLink {\n background: transparent;\n}\n\n.viewer .listTitle {list-style-type: none; margin-left: -2em;}\n\n.viewer .button {\n border: 1px solid [[ColorPalette::SecondaryMid]];\n}\n\n.viewer blockquote {\n border-left: 3px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer table {\n border: 2px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer th, thead td {\n background: [[ColorPalette::SecondaryMid]];\n border: 1px solid [[ColorPalette::TertiaryDark]];\n color: [[ColorPalette::Background]];\n}\n\n.viewer td, .viewer tr {\n border: 1px solid [[ColorPalette::TertiaryDark]];\n}\n\n.viewer pre {\n border: 1px solid [[ColorPalette::SecondaryLight]];\n background: [[ColorPalette::SecondaryPale]];\n}\n\n.viewer code {\n color: [[ColorPalette::SecondaryDark]];\n}\n\n.viewer hr {\n border: 0;\n border-top: dashed 1px [[ColorPalette::TertiaryDark]];\n color: [[ColorPalette::TertiaryDark]];\n}\n\n.highlight, .marked {\n background: [[ColorPalette::SecondaryLight]];\n}\n\n.editor input {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n}\n\n.editor textarea {\n border: 1px solid [[ColorPalette::PrimaryMid]];\n width: 100%;\n}\n\n.editorFooter {\n color: [[ColorPalette::TertiaryMid]];\n}\n\n/*}}}*/
/*{{{*/\n* html .tiddler {\n height: 1%;\n}\n\nbody {\n font-size: .75em;\n font-family: arial,helvetica;\n margin: 0;\n padding: 0;\n}\n\nh1,h2,h3,h4,h5 {\n font-weight: bold;\n text-decoration: none;\n padding-left: 0.4em;\n}\n\nh1 {font-size: 1.35em;}\nh2 {font-size: 1.25em;}\nh3 {font-size: 1.1em;}\nh4 {font-size: 1em;}\nh5 {font-size: .9em;}\n\nhr {\n height: 1px;\n}\n\na{\n text-decoration: none;\n}\n\ndt {font-weight: bold;}\n\nol { list-style-type: decimal }\nol ol { list-style-type: lower-alpha }\nol ol ol { list-style-type: lower-roman }\nol ol ol ol { list-style-type: decimal }\nol ol ol ol ol { list-style-type: lower-alpha }\nol ol ol ol ol ol { list-style-type: lower-roman }\nol ol ol ol ol ol ol { list-style-type: decimal }\n\n.txtOptionInput {\n width: 11em;\n}\n\n#contentWrapper .chkOptionInput {\n border: 0;\n}\n\n.externalLink {\n text-decoration: underline;\n}\n\n.indent {margin-left:3em;}\n.outdent {margin-left:3em; text-indent:-3em;}\ncode.escaped {white-space:nowrap;}\n\n.tiddlyLinkExisting {\n font-weight: bold;\n}\n\n.tiddlyLinkNonExisting {\n font-style: italic;\n}\n\n/* the 'a' is required for IE, otherwise it renders the whole tiddler a bold */\na.tiddlyLinkNonExisting.shadow {\n font-weight: bold;\n}\n\n#mainMenu .tiddlyLinkExisting, \n#mainMenu .tiddlyLinkNonExisting,\n#sidebarTabs .tiddlyLinkNonExisting{\n font-weight: normal;\n font-style: normal;\n}\n\n#sidebarTabs .tiddlyLinkExisting {\n font-weight: bold;\n font-style: normal;\n}\n\n.header {\n position: relative;\n}\n\n.header a:hover {\n background: transparent;\n}\n\n.headerShadow {\n position: relative;\n padding: 1em 0em 1em 1em;\n left: -1px;\n top: -1px;\n}\n\n.headerForeground {\n position: absolute;\n padding: 1em 0em 1em 1em;\n left: 0px;\n top: 0px;\n}\n\n.siteTitle {\n font-size: 3em;\n}\n\n.siteSubtitle {\n font-size: 1.2em;\n}\n\n#mainMenu {\n position: absolute;\n left: 0;\n width: 10em;\n text-align: right;\n line-height: 1.6em;\n padding: 1.5em 0.5em 0.5em 0.5em;\n font-size: 1.1em;\n}\n\n#sidebar {\n position: absolute;\n right: 3px;\n width: 16em;\n font-size: .9em;\n}\n\n#sidebarOptions {\n padding-top: 0.3em;\n}\n\n#sidebarOptions a {\n margin: 0em 0.2em;\n padding: 0.2em 0.3em;\n display: block;\n}\n\n#sidebarOptions input {\n margin: 0.4em 0.5em;\n}\n\n#sidebarOptions .sliderPanel {\n margin-left: 1em;\n padding: 0.5em;\n font-size: .85em;\n}\n\n#sidebarOptions .sliderPanel a {\n font-weight: bold;\n display: inline;\n padding: 0;\n}\n\n#sidebarOptions .sliderPanel input {\n margin: 0 0 .3em 0;\n}\n\n#sidebarTabs .tabContents {\n width: 15em;\n overflow: hidden;\n}\n\n.wizard {\n padding: 0.1em 0em 0em 2em;\n}\n\n.wizard h1 {\n font-size: 2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.4em 0em 0.2em 0em;\n}\n\n.wizard h2 {\n font-size: 1.2em;\n font-weight: bold;\n background: none;\n padding: 0em 0em 0em 0em;\n margin: 0.2em 0em 0.2em 0em;\n}\n\n.wizardStep {\n padding: 1em 1em 1em 1em;\n}\n\n.wizard .button {\n margin: 0.5em 0em 0em 0em;\n font-size: 1.2em;\n}\n\n#messageArea {\nposition:absolute; top:0; right:0; margin: 0.5em; padding: 0.5em;\n}\n\n*[id='messageArea'] {\nposition:fixed !important; z-index:99;}\n\n.messageToolbar {\ndisplay: block;\ntext-align: right;\n}\n\n#messageArea a{\n text-decoration: underline;\n}\n\n.popup {\n font-size: .9em;\n padding: 0.2em;\n list-style: none;\n margin: 0;\n}\n\n.popup hr {\n display: block;\n height: 1px;\n width: auto;\n padding: 0;\n margin: 0.2em 0em;\n}\n\n.listBreak {\n font-size: 1px;\n line-height: 1px;\n}\n\n.listBreak div {\n margin: 2px 0;\n}\n\n.popup li.disabled {\n padding: 0.2em;\n}\n\n.popup li a{\n display: block;\n padding: 0.2em;\n}\n\n.tabset {\n padding: 1em 0em 0em 0.5em;\n}\n\n.tab {\n margin: 0em 0em 0em 0.25em;\n padding: 2px;\n}\n\n.tabContents {\n padding: 0.5em;\n}\n\n.tabContents ul, .tabContents ol {\n margin: 0;\n padding: 0;\n}\n\n.txtMainTab .tabContents li {\n list-style: none;\n}\n\n.tabContents li.listLink {\n margin-left: .75em;\n}\n\n#displayArea {\n margin: 1em 17em 0em 14em;\n}\n\n\n.toolbar {\n text-align: right;\n font-size: .9em;\n visibility: hidden;\n}\n\n.selected .toolbar {\n visibility: visible;\n}\n\n.tiddler {\n padding: 1em 1em 0em 1em;\n}\n\n.missing .viewer,.missing .title {\n font-style: italic;\n}\n\n.title {\n font-size: 1.6em;\n font-weight: bold;\n}\n\n.missing .subtitle {\n display: none;\n}\n\n.subtitle {\n font-size: 1.1em;\n}\n\n.tiddler .button {\n padding: 0.2em 0.4em;\n}\n\n.tagging {\nmargin: 0.5em 0.5em 0.5em 0;\nfloat: left;\ndisplay: none;\n}\n\n.isTag .tagging {\ndisplay: block;\n}\n\n.tagged {\nmargin: 0.5em;\nfloat: right;\n}\n\n.tagging, .tagged {\nfont-size: 0.9em;\npadding: 0.25em;\n}\n\n.tagging ul, .tagged ul {\nlist-style: none;margin: 0.25em;\npadding: 0;\n}\n\n.tagClear {\nclear: both;\n}\n\n.footer {\n font-size: .9em;\n}\n\n.footer li {\ndisplay: inline;\n}\n\n* html .viewer pre {\n width: 99%;\n padding: 0 0 1em 0;\n}\n\n.viewer {\n line-height: 1.4em;\n padding-top: 0.5em;\n}\n\n.viewer .button {\n margin: 0em 0.25em;\n padding: 0em 0.25em;\n}\n\n.viewer blockquote {\n line-height: 1.5em;\n padding-left: 0.8em;\n margin-left: 2.5em;\n}\n\n.viewer ul, .viewer ol{\n margin-left: 0.5em;\n padding-left: 1.5em;\n}\n\n.viewer table {\n border-collapse: collapse;\n margin: 0.8em 1.0em;\n}\n\n.viewer th, .viewer td, .viewer tr,.viewer caption{\n padding: 3px;\n}\n\n.viewer table.listView {\n font-size: 0.85em;\n margin: 0.8em 1.0em;\n}\n\n.viewer table.listView th, .viewer table.listView td, .viewer table.listView tr {\n padding: 0px 3px 0px 3px;\n}\n\n.viewer pre {\n padding: 0.5em;\n margin-left: 0.5em;\n font-size: 1.2em;\n line-height: 1.4em;\n overflow: auto;\n}\n\n.viewer code {\n font-size: 1.2em;\n line-height: 1.4em;\n}\n\n.editor {\nfont-size: 1.1em;\n}\n\n.editor input, .editor textarea {\n display: block;\n width: 100%;\n font: inherit;\n}\n\n.editorFooter {\n padding: 0.25em 0em;\n font-size: .9em;\n}\n\n.editorFooter .button {\npadding-top: 0px; padding-bottom: 0px;}\n\n.fieldsetFix {border: 0;\npadding: 0;\nmargin: 1px 0px 1px 0px;\n}\n\n.sparkline {\n line-height: 1em;\n}\n\n.sparktick {\n outline: 0;\n}\n\n.zoomer {\n font-size: 1.1em;\n position: absolute;\n padding: 1em;\n}\n\n.cascade {\n font-size: 1.1em;\n position: absolute;\n overflow: hidden;\n}\n/*}}}*/
/***\n| Name|TagglyTaggingPlugin|\n| Description|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|\n| Version|3.0 ($Rev: 2101 $)|\n| Date|$Date: 2007-04-20 00:24:20 +1000 (Fri, 20 Apr 2007) $|\n| Source|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|\n| Author|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n!Notes\nSee http://mptw.tiddlyspot.com/#TagglyTagging\n***/\n//{{{\nconfig.taggly = {\n\n // for translations\n lingo: {\n labels: {\n asc: "\su2191", // down arrow\n desc: "\su2193", // up arrow\n title: "title",\n modified: "modified",\n created: "created",\n show: "+",\n hide: "-",\n normal: "normal",\n group: "group",\n commas: "commas",\n sitemap: "sitemap",\n numCols: "cols\su00b1", // plus minus sign\n label: "Tagged as '%0':",\n excerpts: "excerpts",\n noexcerpts: "no excerpts"\n },\n\n tooltips: {\n title: "Click to sort by title",\n modified: "Click to sort by modified date",\n created: "Click to sort by created date",\n show: "Click to show tagging list",\n hide: "Click to hide tagging list",\n normal: "Click to show a normal ungrouped list",\n group: "Click to show list grouped by tag",\n sitemap: "Click to show a sitemap style list",\n commas: "Click to show a comma separated list",\n numCols: "Click to change number of columns"\n }\n },\n\n config: {\n showTaggingCounts: true,\n listOpts: {\n // the first one will be the default\n sortBy: ["title","modified","created"],\n sortOrder: ["asc","desc"],\n hideState: ["show","hide"],\n listMode: ["normal","group","sitemap","commas"],\n numCols: ["1","2","3","4","5","6"],\n excerpts: ["noexcerpts","excerpts"]\n },\n valuePrefix: "taggly.",\n excludeTags: ["excludeLists","excludeTagging"],\n excerptSize: 50,\n excerptMarker: "/%"+"%/"\n },\n\n getTagglyOpt: function(title,opt) {\n var val = store.getValue(title,this.config.valuePrefix+opt);\n return val ? val : this.config.listOpts[opt][0];\n },\n\n setTagglyOpt: function(title,opt,value) {\n if (!store.tiddlerExists(title))\n // create it silently\n store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),null);\n // if value is default then remove it to save space\n return store.setValue(title,\n this.config.valuePrefix+opt,\n value == this.config.listOpts[opt][0] ? null : value);\n },\n\n getNextValue: function(title,opt) {\n var current = this.getTagglyOpt(title,opt);\n var pos = this.config.listOpts[opt].indexOf(current);\n // a little usability enhancement. actually it doesn't work right for grouped or sitemap\n var limit = (opt == "numCols" ? store.getTaggedTiddlers(title).length : this.config.listOpts[opt].length);\n var newPos = (pos + 1) % limit;\n return this.config.listOpts[opt][newPos];\n },\n\n toggleTagglyOpt: function(title,opt) {\n var newVal = this.getNextValue(title,opt);\n this.setTagglyOpt(title,opt,newVal);\n }, \n\n createListControl: function(place,title,type) {\n var lingo = config.taggly.lingo;\n var label;\n var tooltip;\n var onclick;\n\n if ((type == "title" || type == "modified" || type == "created")) {\n // "special" controls. a little tricky. derived from sortOrder and sortBy\n label = lingo.labels[type];\n tooltip = lingo.tooltips[type];\n\n if (this.getTagglyOpt(title,"sortBy") == type) {\n label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,"sortOrder");\n return false;\n }\n }\n else {\n onclick = function() {\n config.taggly.setTagglyOpt(title,"sortBy",type);\n config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);\n return false;\n }\n }\n }\n else {\n // "regular" controls, nice and simple\n label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];\n tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];\n onclick = function() {\n config.taggly.toggleTagglyOpt(title,type);\n return false;\n }\n }\n\n // hide button because commas don't have columns\n if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))\n createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");\n },\n\n makeColumns: function(orig,numCols) {\n var listSize = orig.length;\n var colSize = listSize/numCols;\n var remainder = listSize % numCols;\n\n var upperColsize = colSize;\n var lowerColsize = colSize;\n\n if (colSize != Math.floor(colSize)) {\n // it's not an exact fit so..\n upperColsize = Math.floor(colSize) + 1;\n lowerColsize = Math.floor(colSize);\n }\n\n var output = [];\n var c = 0;\n for (var j=0;j<numCols;j++) {\n var singleCol = [];\n var thisSize = j < remainder ? upperColsize : lowerColsize;\n for (var i=0;i<thisSize;i++) \n singleCol.push(orig[c++]);\n output.push(singleCol);\n }\n\n return output;\n },\n\n drawTable: function(place,columns,theClass) {\n var newTable = createTiddlyElement(place,"table",null,theClass);\n var newTbody = createTiddlyElement(newTable,"tbody");\n var newTr = createTiddlyElement(newTbody,"tr");\n for (var j=0;j<columns.length;j++) {\n var colOutput = "";\n for (var i=0;i<columns[j].length;i++) \n colOutput += columns[j][i];\n var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class\n wikify(colOutput,newTd);\n }\n return newTable;\n },\n\n createTagglyList: function(place,title) {\n switch(this.getTagglyOpt(title,"listMode")) {\n case "group": return this.createTagglyListGrouped(place,title); break;\n case "normal": return this.createTagglyListNormal(place,title,false); break;\n case "commas": return this.createTagglyListNormal(place,title,true); break;\n case "sitemap":return this.createTagglyListSiteMap(place,title); break;\n }\n },\n\n getTaggingCount: function(title) {\n // thanks to Doug Edmunds\n if (this.config.showTaggingCounts) {\n var tagCount = store.getTaggedTiddlers(title).length;\n if (tagCount > 0)\n return " ("+tagCount+")";\n }\n return "";\n },\n\n getExcerpt: function(inTiddlerTitle,title) {\n if (this.getTagglyOpt(inTiddlerTitle,"excerpts") == "excerpts") {\n var t = store.getTiddler(title);\n if (t) {\n var text = t.text.replace(/\sn/," ");\n var marker = text.indexOf(this.config.excerptMarker);\n if (marker != -1) {\n return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";\n }\n else if (text.length < this.config.excerptSize) {\n return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";\n }\n else {\n return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";\n }\n }\n }\n return "";\n },\n\n notHidden: function(t,inTiddler) {\n if (typeof t == "string") \n t = store.getTiddler(t);\n return (!t || !t.tags.containsAny(this.config.excludeTags) ||\n (inTiddler && this.config.excludeTags.contains(inTiddler)));\n },\n\n // this is for normal and commas mode\n createTagglyListNormal: function(place,title,useCommas) {\n\n var list = store.getTaggedTiddlers(title,this.getTagglyOpt(title,"sortBy"));\n\n if (this.getTagglyOpt(title,"sortOrder") == "desc")\n list = list.reverse();\n\n var output = [];\n var first = true;\n for (var i=0;i<list.length;i++) {\n if (this.notHidden(list[i],title)) {\n var countString = this.getTaggingCount(list[i].title);\n var excerpt = this.getExcerpt(title,list[i].title);\n if (useCommas)\n output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);\n else\n output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\sn");\n\n first = false;\n }\n }\n\n return this.drawTable(place,\n this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),\n useCommas ? "commas" : "normal");\n },\n\n // this is for the "grouped" mode\n createTagglyListGrouped: function(place,title) {\n var sortBy = this.getTagglyOpt(title,"sortBy");\n var sortOrder = this.getTagglyOpt(title,"sortOrder");\n\n var list = store.getTaggedTiddlers(title,sortBy);\n\n if (sortOrder == "desc")\n list = list.reverse();\n\n var leftOvers = []\n for (var i=0;i<list.length;i++)\n leftOvers.push(list[i].title);\n\n var allTagsHolder = {};\n for (var i=0;i<list.length;i++) {\n for (var j=0;j<list[i].tags.length;j++) {\n\n if (list[i].tags[j] != title) { // not this tiddler\n\n if (this.notHidden(list[i].tags[j],title)) {\n\n if (!allTagsHolder[list[i].tags[j]])\n allTagsHolder[list[i].tags[j]] = "";\n\n if (this.notHidden(list[i],title)) {\n allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"\n + this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\sn";\n\n leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers\n\n }\n }\n }\n }\n }\n\n var allTags = [];\n for (var t in allTagsHolder)\n allTags.push(t);\n\n var sortHelper = function(a,b) {\n if (a == b) return 0;\n if (a < b) return -1;\n return 1;\n };\n\n allTags.sort(function(a,b) {\n var tidA = store.getTiddler(a);\n var tidB = store.getTiddler(b);\n if (sortBy == "title") return sortHelper(a,b);\n else if (!tidA && !tidB) return 0;\n else if (!tidA) return -1;\n else if (!tidB) return +1;\n else return sortHelper(tidA[sortBy],tidB[sortBy]);\n });\n\n var leftOverOutput = "";\n for (var i=0;i<leftOvers.length;i++)\n if (this.notHidden(leftOvers[i],title))\n leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\sn";\n\n var output = [];\n\n if (sortOrder == "desc")\n allTags.reverse();\n else if (leftOverOutput != "")\n // leftovers first...\n output.push(leftOverOutput);\n\n for (var i=0;i<allTags.length;i++)\n if (allTagsHolder[allTags[i]] != "")\n output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\sn" + allTagsHolder[allTags[i]]);\n\n if (sortOrder == "desc" && leftOverOutput != "")\n // leftovers last...\n output.push(leftOverOutput);\n\n return this.drawTable(place,\n this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),\n "grouped");\n\n },\n\n // used to build site map\n treeTraverse: function(title,depth,sortBy,sortOrder) {\n\n var list = store.getTaggedTiddlers(title,sortBy);\n if (sortOrder == "desc")\n list.reverse();\n\n var indent = "";\n for (var j=0;j<depth;j++)\n indent += "*"\n\n var childOutput = "";\n for (var i=0;i<list.length;i++)\n if (list[i].title != title)\n if (this.notHidden(list[i].title,this.config.inTiddler))\n childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder);\n\n if (depth == 0)\n return childOutput;\n else\n return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title) + "\sn" + childOutput;\n },\n\n // this if for the site map mode\n createTagglyListSiteMap: function(place,title) {\n this.config.inTiddler = title; // nasty. should pass it in to traverse probably\n var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"));\n return this.drawTable(place,\n this.makeColumns(output.split(/(?=^\s*\s[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic\n "sitemap"\n );\n },\n\n macros: {\n tagglyTagging: {\n handler: function (place,macroName,params,wikifier,paramString,tiddler) {\n var refreshContainer = createTiddlyElement(place,"div");\n // do some refresh magic to make it keep the list fresh - thanks Saq\n refreshContainer.setAttribute("refresh","macro");\n refreshContainer.setAttribute("macroName",macroName);\n refreshContainer.setAttribute("title",tiddler.title);\n this.refresh(refreshContainer);\n },\n\n refresh: function(place) {\n var title = place.getAttribute("title");\n removeChildren(place);\n if (store.getTaggedTiddlers(title).length > 0) {\n var lingo = config.taggly.lingo;\n config.taggly.createListControl(place,title,"hideState");\n if (config.taggly.getTagglyOpt(title,"hideState") == "show") {\n createTiddlyElement(place,"span",null,"tagglyLabel",lingo.labels.label.format([title]));\n config.taggly.createListControl(place,title,"title");\n config.taggly.createListControl(place,title,"modified");\n config.taggly.createListControl(place,title,"created");\n config.taggly.createListControl(place,title,"listMode");\n config.taggly.createListControl(place,title,"excerpts");\n config.taggly.createListControl(place,title,"numCols");\n config.taggly.createTagglyList(place,title);\n }\n }\n }\n }\n },\n\n // todo fix these up a bit\n styles: [\n"/*{{{*/",\n"/* created by TagglyTaggingPlugin */",\n".tagglyTagging { padding-top:0.5em; }",\n".tagglyTagging li.listTitle { display:none; }",\n".tagglyTagging ul {",\n" margin-top:0px; padding-top:0.5em; padding-left:2em;",\n" margin-bottom:0px; padding-bottom:0px;",\n"}",\n".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",\n".tagglyTagging table { margin:0px; padding:0px; }",\n".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",\n".tagglyTagging .button, .tagglyTagging .hidebutton {",\n" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",\n" border:0px; padding-left:0.3em;padding-right:0.3em;",\n"}",\n".tagglyTagging .button:hover, .hidebutton:hover, ",\n".tagglyTagging .button:active, .hidebutton:active {",\n" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",\n"}",\n".selected .tagglyTagging .button { visibility:visible; }",\n".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",\n".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",\n".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",\n".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",\n".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",\n".tagglyTagging ul ul li {margin-left:0.5em; }",\n".editLabel { font-size:90%; padding-top:0.5em; }",\n".tagglyTagging .commas { padding-left:1.8em; }",\n"/* not technically tagglytagging but will put them here anyway */",\n".tagglyTagged li.listTitle { display:none; }",\n".tagglyTagged li { display: inline; font-size:90%; }",\n".tagglyTagged ul { margin:0px; padding:0px; }",\n".excerpt { color:[[ColorPalette::TertiaryMid]]; }",\n"div.tagglyTagging table,",\n"div.tagglyTagging table tr,",\n"td.tagglyTagging",\n" {border-style:none!important; }",\n"/*}}}*/",\n ""].join("\sn"),\n\n init: function() {\n merge(config.macros,this.macros);\n config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;\n store.addNotification("TagglyTaggingStyles",refreshStyles);\n }\n};\n\nconfig.taggly.init();\n\n//}}}\n\n
/%\n|Name|TiddlerTweaker|\n|Source|http://www.TiddlyTools.com/#TiddlerTweaker|\n|Version|0.0.0|\n|Author|Eric Shulman - ELS Design Studios|\n|License|http://www.TiddlyTools.com/#LegalStatements <<br>>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|\n|~CoreVersion|2.1|\n|Type|script|\n|Requires|InlineJavascriptPlugin|\n|Overrides||\n|Description|select multiple tiddlers and modify author, created, modified and/or tag values|\n\nTiddlerTweaker is a tool for TiddlyWiki authors. It allows you to select multiple tiddlers from a listbox, and then modify the author, created, modified and/or tag values of those tiddlers using a compact set of form fields. The values you enter into the fields overwrite the existing values in all tiddlers you have selected.\n\nTiddlerTweaker also allows you to quickly filter specified tags from the selected tiddlers, while leaving any other tags assigned to those tiddlers unchanged. Any tag preceded by a "+" (plus) or "-" (minus), will be added or removed from the existing tags instead of simply *replacing* the entire tag definition of each tiddler (e.g., enter "-excludeLists" to remove that tag from all selected tiddlers.\n\nNote: because you may be working with many tags on many tiddlers, selecting and updating all tiddlers in a document operation may take a while and FireFox might warn about an "unresponsive script"... you should give it a whole bunch of time to 'continue'... it will complete the processing... eventually.\n\nAlso, by design, TiddlerTweaker does NOT update the 'modified' date of tiddlers simply by making changes to their tags. The tiddlers' dates are ONLY updated when the corresponding 'created' and/or 'modified' checkboxes are selected. Be sure to SAVE YOUR DOCUMENT WHEN YOU ARE DONE tweaking tiddlers, even if the tiddler timeline tab does not show any recently modified tiddlers.\n\nFinally: inasmuch as TiddlerTweaker is a 'power user' tool that can perform 'batch' functions (operating on many tiddlers at once), you should always have a recent backup of your document (or "save changes" just *before* tweaking the tiddlers), just in case you "shoot yourself in the foot".\n\n%/{{small smallform{<<tiddler HideTiddlerTags>><html><form style="display:inline"><!--\n--><table style="padding:0;margin:0;border:0;width:100%"><tr valign="top" style="padding:0;margin:0;border:0"><td style="text-align:center;white-space:nowrap;width:99%;padding:0;margin:0;border:0"><!--\n --><font size=-2><div style="text-align:left;">select tiddlers:</div><!--\n --></font><select multiple name=list size="8" style="width:99.99%" \n title="use click, shift-click and/or ctrl-click to select multiple tiddler titles"\n onclick="tiddlertweaker.selecttiddlers(this)"\n onchange="tiddlertweaker.setfields(this)"><!--\n --></select><br><!--\n -->show<input type=text size=1 value="8"\n onchange="this.form.list.size=this.value; this.form.list.multiple=(this.value>1);"><!--\n -->by<!--\n --><select name=sortby size=1 \n onchange="tiddlertweaker.init(this.form,this.value)"><!--\n --><option value="title">title</option><!--\n --><option value="modified">date</option><!--\n --><option value="size">size</option><!--\n --></select><!--\n --><input type="button" value="refresh"\n onclick="tiddlertweaker.init(this.form,this.form.sortby.value)"<!--\n --> <input type=button name=stats disabled value='totals...' \n onclick="tiddlertweaker.stats(this)"><!--\n--></td><td style="white-space:nowrap;padding:0;margin:0;border:0;width:1%"><!--\n --><div style="text-align:left"><font size=-2>modify values</font></div><!--\n\n --><table border=0 style="width:100%;padding:0;margin:0;border:0;"><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=checkbox name=settitle unchecked \n title="allow changes to tiddler title (rename tiddler)"\n onclick="this.form.title.disabled=!this.checked">title<!--\n --></td><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=text name=title size=35 style="width:98%" disabled><!--\n --></td></tr><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=checkbox name=setwho unchecked \n title="allow changes to tiddler author"\n onclick="this.form.who.disabled=!this.checked">author<!--\n --></td><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=text name=who size=35 style="width:98%" disabled><!--\n --></td></tr><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=checkbox name=setcdate unchecked \n title="allow changes to created date" onclick="this.form.cm.disabled=this.form.cd.disabled=this.form.cy.disabled=this.form.ch.disabled=this.form.cn.disabled=!this.checked"><!--\n -->created on<!--\n --></td><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=text name=cm size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> / <input type=text name=cd size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> / <input type=text name=cy size=4 style='width:3em;padding:0;text-align:center' disabled><!--\n --> at <input type=text name=ch size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> : <input type=text name=cn size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --></td></tr><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=checkbox name=setmdate unchecked \n title="allow changes to modified date" onclick="this.form.mm.disabled=this.form.md.disabled=this.form.my.disabled=this.form.mh.disabled=this.form.mn.disabled=!this.checked"><!--\n -->modified on<!--\n --></td><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=text name=mm size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> / <input type=text name=md size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> / <input type=text name=my size=4 style='width:3em;padding:0;text-align:center' disabled><!--\n --> at <input type=text name=mh size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --> : <input type=text name=mn size=2 style='width:2em;padding:0;text-align:center' disabled><!--\n --></td></tr><tr style='padding:0;border:0;'><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=checkbox name=settags checked \n title="allow changes to tiddler tags"\n onclick="this.form.tags.disabled=!this.checked">tags<!--\n --></td><td style="padding:1px;border:0;white-space:nowrap"><!--\n --><input type=text name=tags size=35 value='' style="width:98%"\n title="enter new tags or use '+tag' and '-tag' to add/remove tags from existing tags"><!--\n --></td></tr></table><!--\n --><div style="margin-top:.8em;text-align:center"><!--\n --><nobr><input type=button name=display disabled style='width:32%' value='display tiddlers' \n onclick="tiddlertweaker.displaytiddlers(this)"><!--\n --> <input type=button name=del disabled style='width:32%' value='delete tiddlers' \n onclick="tiddlertweaker.deltiddlers(this)"><!--\n --> <input type=button name=set disabled style='width:32%' value='update tiddlers' \n onclick="tiddlertweaker.settiddlers(this)"></nobr><!--\n --></div><!--\n--></td></tr></table><!--\n--></form><span id="TiddlerTweaker_stats" style="display:none"></span></html><script>\nwindow.tiddlertweaker = {\n\n init: // load tiddler titles into multi-select listbox\n function(form,sortby) { \n while (form.list.options[0]) form.list.options[0]=null; // empty current list content\n var tids=store.getTiddlers(sortby);\n if (sortby=="size")\n tids.sort(function(a,b) {return a.text.length < b.text.length ? -1 : (a.text.length == b.text.length ? 0 : +1);});\n for (i=0; i<tids.length; i++) {\n var label=tids[i].title; var value=tids[i].title;\n if (sortby=="modified") {\n label=tids[tids.length-i-1].modified.formatString("YY.0MM.0DD 0hh:0mm ")+tids[tids.length-i-1].title;\n value=tids[tids.length-i-1].title;\n }\n if (sortby=="size") label="["+tids[i].text.length+"] "+label;\n form.list.options[form.list.length]=new Option(label,value,false,false);\n }\n form.title.value=form.who.value=form.tags.value="";\n form.cm.value=form.cd.value=form.cy.value=form.ch.value=form.cn.value="";\n form.mm.value=form.md.value=form.my.value=form.mh.value=form.mn.value="";\n form.stats.disabled=form.set.disabled=form.del.disabled=form.display.disabled=true;\n form.settitle.disabled=false;\n },\n\n selecttiddlers: // enable/disable tweaker fields based on number of items selected\n function(here) { \n // count how many tiddlers are selected\n var list=here.form.list; var c=0; for (i=0;i<list.length;i++) if (list.options[i].selected) c++;\n if (c>1) here.form.title.disabled=true;\n if (c>1) here.form.settitle.checked=false;\n here.form.set.disabled=(c==0);\n here.form.del.disabled=(c==0);\n here.form.display.disabled=(c==0);\n here.form.settitle.disabled=(c>1);\n here.form.stats.disabled=(c==0);\n var msg=(c==0)?'select tiddlers:':(c+' tiddler'+(c!=1?'s':'')+' selected');\n here.previousSibling.firstChild.innerHTML=msg;\n },\n\n setfields: // set tweaker edit fields from first selected tiddler\n function(here) {\n var form=here.form;\n if (!here.value.length) {\n form.title.value=form.who.value=form.tags.value="";\n form.cm.value=form.cd.value=form.cy.value=form.ch.value=form.cn.value="";\n form.mm.value=form.md.value=form.my.value=form.mh.value=form.mn.value="";\n return;\n }\n var tid=store.getTiddler(here.value); if (!tid) return;\n form.title.value=tid.title;\n form.who.value=tid.modifier;\n form.tags.value=tid.tags.join(' ');\n var c=tid.created; var m=tid.modified;\n form.cm.value=c.getMonth()+1;\n form.cd.value=c.getDate();\n form.cy.value=c.getFullYear();\n form.ch.value=c.getHours();\n form.cn.value=c.getMinutes();\n form.mm.value=m.getMonth()+1;\n form.md.value=m.getDate();\n form.my.value=m.getFullYear();\n form.mh.value=m.getHours();\n form.mn.value=m.getMinutes();\n },\n\n settiddlers: \n function(here) {\n var form=here.form; var list=form.list; var tids=[];\n for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);\n if (!tids.length) { alert("please select at least one tiddler"); return; }\n var cdate=new Date(form.cy.value,form.cm.value-1,form.cd.value,form.ch.value,form.cn.value);\n var mdate=new Date(form.my.value,form.mm.value-1,form.md.value,form.mh.value,form.mn.value);\n if (tids.length>1 && !confirm("Are you sure you want to update these tiddlers:\sn\sn"+tids.join(', '))) return;\n for (t=0;t<tids.length;t++) {\n var tid=store.getTiddler(tids[t]); if (!tid) continue;\n var title=!form.settitle.checked?tid.title:form.title.value;\n var who=!form.setwho.checked?tid.modifier:form.who.value;\n var tags=tid.tags\n if (form.settags.checked) { \n var intags=form.tags.value.readBracketedList();\n var addtags=[]; var deltags=[]; var reptags=[];\n for (i=0;i<intags.length;i++) {\n if (intags[i].substr(0,1)=='+')\n addtags.push(intags[i].substr(1));\n else if (intags[i].substr(0,1)=='-')\n deltags.push(intags[i].substr(1));\n else\n reptags.push(intags[i]);\n }\n if (reptags.length)\n tags=reptags;\n if (addtags.length)\n tags=Array.concat(tags,addtags);\n if (deltags.length)\n for (i=0;i<deltags.length;i++)\n { var pos=tags.indexOf(deltags[i]); if (pos!=-1) tags.splice(pos,1); }\n// DEBUG alert("original tags="+tid.tags+"\sn"+"reptags="+reptags+"\sn"+"addtags="+addtags+"\sn"+"deltags="+deltags+"\sn"+"final tags="+tags+"\sn");\n }\n if (!form.setcdate.checked) cdate=tid.created;\n if (!form.setmdate.checked) mdate=tid.modified;\n store.saveTiddler(tid.title,title,tid.text,who,mdate,tags,tid.fields);\n if (form.setcdate.checked) tid.assign(null,null,null,null,null,cdate); // set create date\n }\n this.init(form,form.sortby.value);\n },\n\n displaytiddlers: \n function(here) {\n var form=here.form; var list=form.list; var tids=[];\n for (i=0; i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);\n if (!tids.length) { alert("please select at least one tiddler"); return; }\n story.displayTiddlers(story.findContainingTiddler(form),tids)\n },\n\n deltiddlers: \n function(here) {\n var form=here.form; var list=form.list; var tids=[];\n for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);\n if (!tids.length) { alert("please select at least one tiddler"); return; }\n if (!confirm("Are you sure you want to delete these tiddlers:\sn\sn"+tids.join(', '))) return;\n for (t=0;t<tids.length;t++) {\n var tid=store.getTiddler(tids[t]); if (!tid) continue;\n if (tid.tags.contains("systemConfig"))\n if (!confirm("'"+tid.title+"' is tagged with 'systemConfig'.\sn\snRemoving this tiddler may cause unexpected results. Are you sure?"))\n continue;\n store.removeTiddler(tid.title);\n }\n this.init(form,form.sortby.value);\n },\n\n stats: \n function(here) {\n var form=here.form; var list=form.list; var tids=[]; var out=''; var tot=0;\n var target=document.getElementById("TiddlerTweaker_stats");\n for (i=0;i<list.length;i++) if (list.options[i].selected) tids.push(list.options[i].value);\n if (!tids.length) { alert("please select at least one tiddler"); return; }\n for (t=0;t<tids.length;t++) {\n var tid=store.getTiddler(tids[t]); if (!tid) continue;\n out+='[['+tid.title+']] '+tid.text.length+'\sn'; tot+=tid.text.length;\n }\n var avg=tot/tids.length;\n out=tot+' bytes in '+tids.length+' selected tiddlers ('+avg+' bytes/tiddler)\sn<<<\sn'+out+'<<<\sn';\n removeChildren(target);\n target.innerHTML="<hr><font size=-2><a href='javascript:;' style='float:right' onclick='this.parentNode.parentNode.style.display=\s"none\s"'>close</a></font>";\n wikify(out,target);\n target.style.display="block";\n }\n}\n// get THIS form...\nvar here=place.lastChild.firstChild;\n// tweaker might be wrappered in a surrounding form (e.g., TidIDE) , so...\nwhile(here && here.nodeName.toLowerCase()!="form") here=here.parentNode; // find containing form\n// initialize tweaker controls\ntiddlertweaker.init(here,here.sortby.value);\n</script>}}}
/***\n\n|Name|ToggleSideBarMacro|\n|Created by|SaqImtiaz|\n|Location|http://tw.lewcid.org/#ToggleSideBarMacro|\n|Version|1.0|\n|Requires|~TW2.x|\n!Description:\nProvides a button for toggling visibility of the SideBar. You can choose whether the SideBar should initially be hidden or displayed.\n\n!Demo\n<<toggleSideBar "Toggle Sidebar">>\n\n!Usage:\n{{{<<toggleSideBar>>}}} <<toggleSideBar>>\nadditional options:\n{{{<<toggleSideBar label tooltip show/hide>>}}} where:\nlabel = custom label for the button,\ntooltip = custom tooltip for the button,\nshow/hide = use one or the other, determines whether the sidebar is shown at first or not.\n(default is to show the sidebar)\n\nYou can add it to your tiddler toolbar, your MainMenu, or where you like really.\nIf you are using a horizontal MainMenu and want the button to be right aligned, put the following in your StyleSheet:\n{{{ .HideSideBarButton {float:right;} }}}\n\n!History\n*23-07-06: version 1.0: completely rewritten, now works with custom stylesheets too, and easier to customize start behaviour. \n*20-07-06: version 0.11\n*27-04-06: version 0.1: working.\n\n!Code\n***/\n//{{{\nconfig.macros.toggleSideBar={};\n\nconfig.macros.toggleSideBar.settings={\n styleHide : "#sidebar { display: none;}\sn"+"#contentWrapper #displayArea { margin-right: 1em;}\sn"+"",\n styleShow : " ",\n arrow1: "Webpage by Skye",\n arrow2: "Webpage by Skye"\n};\n\nconfig.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)\n{\n var tooltip= params[1]||'toggle sidebar';\n var mode = (params[2] && params[2]=="hide")? "hide":"show";\n var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;\n var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;\n var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");\n if (mode == "hide")\n { \n (document.getElementById("sidebar")).setAttribute("toggle","hide");\n setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");\n }\n};\n\nconfig.macros.toggleSideBar.onToggleSideBar = function(){\n var sidebar = document.getElementById("sidebar");\n var settings = config.macros.toggleSideBar.settings;\n if (sidebar.getAttribute("toggle")=='hide')\n {\n setStylesheet(settings.styleShow,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","show");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);\n }\n else\n { \n setStylesheet(settings.styleHide,"ToggleSideBarStyles");\n sidebar.setAttribute("toggle","hide");\n this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);\n }\n\n return false;\n}\n\nsetStylesheet(".HideSideBarButton .button {font-weight:bold; padding: 0 5px;}\sn","ToggleSideBarButtonStyles");\n\n//}}}
/***\n| Name|ToggleTagPlugin|\n| Description|Makes a checkbox which toggles a tag in a tiddler|\n| Version|3.0 ($Rev: 1845 $)|\n| Date|$Date: 2007-03-16 15:19:22 +1000 (Fri, 16 Mar 2007) $|\n| Source|http://tiddlyspot.com/mptw/#ToggleTagMacro|\n| Author|Simon Baird <simon.baird@gmail.com>|\n| License|http://mptw.tiddlyspot.com/#TheBSDLicense|\n!Usage\n{{{<<toggleTag }}}//{{{TagName TiddlerName LabelText}}}//{{{>>}}}\n* TagName - the tag to be toggled, default value "checked"\n* TiddlerName - the tiddler to toggle the tag in, default value the current tiddler\n* LabelText - the text (gets wikified) to put next to the check box, default value is '{{{[[TagName]]}}}' or '{{{[[TagName]] [[TiddlerName]]}}}'\n(If a parameter is '.' then the default will be used)\n\nExamples:\n\n|Code|Description|Example|h\n|{{{<<toggleTag>>}}}|Toggles the default tag (checked) in this tiddler|<<toggleTag>>|\n|{{{<<toggleTag TagName>>}}}|Toggles the TagName tag in this tiddler|<<toggleTag TagName>>|\n|{{{<<toggleTag TagName TiddlerName>>}}}|Toggles the TagName tag in the TiddlerName tiddler|<<toggleTag TagName TiddlerName>>|\n|{{{<<toggleTag TagName TiddlerName 'click me'>>}}}|Same but with custom label|<<toggleTag TagName TiddlerName 'click me'>>|\n|{{{<<toggleTag . . 'click me'>>}}}|dot means use default value|<<toggleTag . . 'click me'>>|\nNotes:\n* If TiddlerName doesn't exist it will be silently created\n* Set label to '-' to specify no label\n* See also http://mgtd-alpha.tiddlyspot.com/#ToggleTag2\n\n!Known issues\n* Doesn't smoothly handle the case where you toggle a tag in a tiddler that is current open for editing\n\n***/\n//{{{\n\nmerge(config.macros,{\n\n toggleTag: {\n\n doRefreshAll: true,\n createIfRequired: true,\n shortLabel: "[[%0]]",\n longLabel: "[[%0]] [[%1]]",\n\n handler: function(place,macroName,params,wikifier,paramString,tiddler) {\n var tag = (params[0] && params[0] != '.') ? params[0] : "checked";\n var title = (params[1] && params[1] != '.') ? params[1] : tiddler.title;\n var defaultLabel = (title == tiddler.title ? this.shortLabel : this.longLabel);\n var label = (params[2] && params[2] != '.') ? params[2] : defaultLabel;\n label = (label == '-' ? '' : label);\n var theTiddler = title == tiddler.title ? tiddler : store.getTiddler(title);\n var cb = createTiddlyCheckbox(place, label.format([tag,title]), theTiddler && theTiddler.isTagged(tag), function(e) {\n if (!store.tiddlerExists(title)) {\n if (config.macros.toggleTag.createIfRequired) {\n var content = store.getTiddlerText(title); // just in case it's a shadow\n store.saveTiddler(title,title,content?content:"",config.options.txtUserName,new Date(),null);\n }\n else \n return false;\n }\n store.setTiddlerTag(title,this.checked,tag);\n return true;\n });\n }\n }\n});\n\n//}}}\n\n
<!--{{{-->\n<!--- http://mptw.tiddlyspot.com/#MptwViewTemplate ($Rev: 1830 $) --->\n\n<div class='toolbar'>\n <span macro="showWhenTagged systemConfig">\n <span macro="toggleTag systemConfigDisable . '[[disable|systemConfigDisable]]'"></span>\n </span>\n <span style="padding:1em;"></span>\n <span macro='toolbar closeTiddler closeOthers +editTiddler deleteTiddler > fields syncing permalink references jump'></span> <span macro='newHere label:"new here"'></span>\n <span macro='newJournalHere {{config.mptwJournalFormat?config.mptwJournalFormat:"MM/0DD/YY"}}'></span>\n</div>\n\n<div class="tagglyTagged" macro="tags"></div>\n\n<div class='titleContainer'>\n <span macro="miniTag"></span>\n</div>\n\n<div macro="showWhenExists ViewPanelTemplate">[[ViewPanelTemplate]]</div>\n\n<div macro="hideWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer' macro='view text wikified'></div>\n</div>\n<div macro="showWhen tiddler.tags.containsAny(['css','html','pre','systemConfig']) && !tiddler.text.match('{{'+'{')">\n <div class='viewer'><pre macro='view text'></pre></div>\n</div>\n\n<div macro="showWhenExists ViewDashboardTemplate">[[ViewDashboardTemplate]]</div>\n\n<div class="tagglyTagging" macro="tagglyTagging"></div>\n\n<!--}}}-->\n
/***\n|''Name:''|XHTML10Plugin|\n|''Version:''|1.0.1 (2006-09-16)|\n|''Source:''|http://tiddlywiki.abego-software.de/#XHTML10Plugin|\n|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|\n|''Licence:''|[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]|\n|''Copyright:''|© 2005-2006 [[abego Software|http://www.abego-software.de]]|\n|''~CoreVersion:''|2.1.0|\n|''Browser:''|Firefox 1.5.0.2 or better; Internet Explorer 6.0|\n\nMake your ~TiddlyWiki XHTML 1.0 compliant format.\n\nOnce the plugin is installed the existing tiddlers of that TiddlyWiki are automatically converted to the new (XHTML 1.0 compliant) format on the first save. After that all changes are stored in the XHTML format.\n\n!Source Code\n***/\n//{{{\n// Ensure the Plugin is only installed once.\n//\nif (!version.extensions.XHTML10Plugin) {\n\nif (version.major < 2 || (version.major == 2 && version.minor < 1)) {\n (function() {\n var s = "Use TiddlyWiki 2.1 or better to run the XHTML10Plugin.";\n alert(s);\n throw s;\n })();\n}\n\nversion.extensions.XHTML10Plugin = {\n major: 1, minor: 0, revision: 1,\n date: new Date(2006, 8, 16),\n source: "http://tiddlywiki.abego-software.de/#XHTML10Plugin",\n licence: "[[BSD open source license (abego Software)|http://www.abego-software.de/legal/apl-v10.html]]",\n copyright: "Copyright (c) abego Software GmbH, 2005-2006 (www.abego-software.de)",\n};\n\n// Ensure the global abego namespace is set up.\nif (!window.abego) window.abego = {};\n\n\n//--------------------------------\n// XHTML10Saver (inherits from SaverBase)\n\nabego.XHTML10Saver = function() {};\n\nabego.XHTML10Saver.prototype = new SaverBase();\n\nabego.XHTML10Saver.prototype.externalizeTiddler = function(store, tiddler) {\n try {\n var s = '';\n store.forEachField(tiddler, \n function(tiddler, fieldName, value) {\n // don't store stuff from the temp namespace\n if (!fieldName.match(/^temp\s./)) {\n if (value)\n value = value.htmlEncode();\n s += ['<pre title="',fieldName,'">',value,'</pre>'].join("");\n }\n });\n return ['<div title="',tiddler.title.htmlEncode(),'">',s,'</div>'].join("");\n\n } catch (e) {\n showException(e, config.messages.tiddlerSaveError.format([tiddler.title]));\n return '';\n }\n};\n\nabego.XHTML10Saver.prototype.externalize = function(store) {\n return ["<div class='twXHTML10'>\sn",SaverBase.prototype.externalize.apply(this, arguments),"\sn</div>"].join("");\n};\n\n\n//--------------------------------\n// Overwrite TiddlyWiki.prototype.getSaver to use the XHTML10 format on save\n\nTiddlyWiki.prototype.getSaver = function() {\n if (!this.saver) \n this.saver = new abego.XHTML10Saver();\n return this.saver;\n};\n\n//======================================\n// Install the Loader into the HTML page\n\n(function() {\n // The loader code will be inserted into the PostHead markup block,\n // so it can be executed before tiddlers are loaded. We cannot just put this\n // code into a normal plugin since this "load" code is required to load\n // tiddlers. I.e. this code must be executed before any tiddlers/plugins\n // can be loaded.\n\n var getXHTML10LoaderBlock = function() {\n // The loader code in a big JavaScript string.\n // You may get a non-stringified version of the XHTML10Loader source code at\n // http://tiddlywiki.abego-software.de/archive/XHTML10Plugin/XHTML10Loader.1.0.1.js\n\n XHTML10LoaderCode = \n "if (!window.abego) window.abego = {};\snif (!abego.XHTML10Loader) {\sn\st//-"+\n "-------------------------------\sn\st// abego.XHTML10Loader (inherits from"+\n " LoaderBase)\sn\st\sn\stabego.XHTML10Loader = function() {};\sn\stabego.XHTML10Loa"+\n "der.prototype = new LoaderBase();\sn\st\sn\stabego.XHTML10Loader.prototype.lin"+\n "go = {\sn\st\stunnamedValue: \s"Unnamed value\s",\sn\st\stredefining: \s"Redefining valu"+\n "e of %0\s",\sn\st\stnoXHTML10Format: \s"Storage not in XHTML 1.0 format\s"\sn\st}\sn\st\sn\sta"+\n "bego.XHTML10Loader.prototype.getTitle = function(store, e) {\sn\st\stvar tit"+\n "le = null;\sn\st\stif(e.getAttribute)\sn\st\st\sttitle = e.getAttribute('title');\sn\st\st"+\n "if(!title && e.id) {\st\sn\st\st\stvar lenPrefix = store.idPrefix.length;\sn\st\st\stif "+\n "(e.id.substr(0,lenPrefix) == store.idPrefix)\sn\st\st\st\sttitle = e.id.substr(l"+\n "enPrefix);\sn\st\st}\sn\st\streturn title;\sn\st};\sn\st\sn\stabego.XHTML10Loader.prototype.in"+\n "ternalizeTiddler = function(store, tiddler, title, data) {\sn\st\stvar field"+\n "s = {};\sn\st\stvar elems = data.childNodes;\sn\st\stfor(var i = 0; i < elems.leng"+\n "th; i++) {\sn\st\st\stvar e = elems[i];\sn\st\st\stvar name = e.getAttribute('title');"+\n "\sn\st\st\stif (!name) \sn\st\st\st\stthrow this.lingo.unnamedValue;\sn\st\st\stif (fields[name]"+\n " !== undefined) \sn\st\st\st\stthrow this.lingo.redefining.format([name]);\sn\st\st\stfi"+\n "elds[name] = getNodeText(e.firstChild); \sn\st\st}\sn\st\sn\st\st// Extract (and remov"+\n "e) the standard fields from the extended fields\sn\st\stvar text = fields.te"+\n "xt;\sn\st\stvar modifier = fields.modifier;\sn\st\stvar modified = Date.convertFro"+\n "mYYYYMMDDHHMM(fields.modified);\sn\st\stvar c = fields.created;\sn\st\stvar create"+\n "d = c ? Date.convertFromYYYYMMDDHHMM(c) : modified;\sn\st\stvar tags = field"+\n "s.tags;\sn\st\stdelete fields.modifier;\sn\st\stdelete fields.modified;\sn\st\stdelete f"+\n "ields.created;\sn\st\stdelete fields.tags;\sn\st\stdelete fields.text;\sn\st\stdelete fi"+\n "elds.title;\sn\st\sn\st\sttiddler.assign(title,text,modifier,modified,tags,creat"+\n "ed,fields);\sn\st\st\sn\st\streturn tiddler;\sn\st};\sn\st\sn\stvar findRootNode = function(no"+\n "des) {\sn\st\stif (nodes) {\sn\st\st\st// skip leading text nodes\sn\st\st\stfor (var i = 0;"+\n " i < nodes.length; i++)\sn\st\st\st\stif (nodes[i].nodeType != 3)\sn\st\st\st\st\stbreak;\sn\st\st"+\n "\st\st\st\sn\st\st\stif (i < nodes.length && nodes[i].className == 'twXHTML10')\sn\st\st\st\st"+\n "return nodes[i];\sn\st\st}\sn\st};\sn\st\sn\stabego.XHTML10Loader.prototype.loadTiddlers"+\n " = function(store,nodes) {\sn\st\st// in the twXHMTL10 format all tiddler el"+\n "ements are contained in one enclosing DIV\sn\st\st// that contains the forma"+\n "t information\sn\st\stvar root = findRootNode(nodes)\sn\st\stif (!root) \sn\st\st\stthrow "+\n "this.lingo.noXHTML10Format;\sn\st\streturn LoaderBase.prototype.loadTiddlers"+\n ".apply(this, [store, root.childNodes]);\sn\st};\sn\st\sn\st\sn\st//-------------------"+\n "-------------\sn\st// Hijack the loadFromDiv\sn\st(function() {\sn\st\stvar origTidd"+\n "lyWikiLoadFromDiv = TiddlyWiki.prototype.loadFromDiv;\sn\st\stTiddlyWiki.pro"+\n "totype.loadFromDiv = function(srcID,idPrefix) {\sn\st\st\st// use the XHTML 1."+\n "0 loader when the storearea is in 'twXHTML10' format,\sn\st\st\st// otherwise "+\n "use the default loader\sn\st\st\stvar e = document.getElementById(srcID);\sn\st\st\sti"+\n "f (e && findRootNode(e.childNodes))\sn\st\st\st\stthis.loader = new abego.XHTML1"+\n "0Loader();\sn\st\st\streturn origTiddlyWikiLoadFromDiv.apply(this, arguments);"+\n "\sn\st\st};\sn\st})();\sn}\sn\sn";\n return '<'+'script type="text/javascript">\sn//<![CDATA[\sn'+XHTML10LoaderCode+'\sn//]]>\sn</script'+'>\sn';\n };\n\n var insertLoaderBlock = function() {\n if (!store)\n throw "XHTML10LoaderInstaller must run as a plugin";\n \n var START = "<!--XHMTL10Loader-START-->";\n var END = "<!--XHMTL10Loader-END-->";\n \n var postHeadText = store.getTiddlerText("MarkupPostHead");\n if (postHeadText.getChunk(START, END)) \n return; // already installed\n\n postHeadText += "\sn"+START+getXHTML10LoaderBlock()+END+"\sn";\n var tiddler = store.getTiddler("MarkupPostHead");\n var tags = tiddler ? tiddler.tags : [];\n store.saveTiddler("MarkupPostHead","MarkupPostHead",postHeadText,config.options.txtUserName,new Date(),tags);\n alert("XHTML10Loader installed.\snPlease save and reload your TiddlyWiki to complete the installation. After that your TiddlyWiki will be stored in an XHTML 1.0 compliant format.");\n };\n \n insertLoaderBlock(); \n})();\n\n} // of single install\n\n//}}}\n
| source file:|{{{D:\sSkyes Control Center\sPlanPosPetroleo-UDV\scarbon_dioxide.jpg}}}|\n| attached on:|12 Julho 2007 by Skye|\n| embedded:|[[carbon_dioxide.jpg|carbon_dioxide.jpg]] - {{{type=image/jpeg, size=37580 bytes, encoded=50890 bytes}}}|\n| local file:|/%LOCAL_LINK%/[[D:\sSkyes Control Center\sPlanPosPetroleo-UDV\scarbon_dioxide.jpg|file:///D:/Skyes Control Center/PlanPosPetroleo-UDV/carbon_dioxide.jpg]]|\n| remote link:|//none//|\nimage\n<<<\nusage: {{{[img[tooltip|carbon_dioxide.jpg]] or [img[tooltip|carbon_dioxide.jpg][link]]}}}\n[img[tooltip|carbon_dioxide.jpg]]\n<<<\n\n/% DO NOT EDIT BELOW THIS POINT\n---BEGIN_DATA---\nimage/jpeg;base64,\n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\ndCT3nzXcTe6j3nzXcTe6lRq6UL4duhHh26EnvPmu4m91I4yhpIldxN7qVGppQ7w7\ndCPDt0JPefNdxN7qPefNdxN7qVGrpQvh26EeHboSe8+a7ib3Ue8+a7ib3UqNXShf\nDt0I8O3Qk95813E3uo95813E3upUaulC+HboR4dmhNJlBA1rstdxvdS+8+a7ib3U\nqNXShfDt0I8O3Qk95813E3uo95813E3upUaulC+HboR4duhJ7z5ruJvdR7z5ruJv\ndSo1dKF8O3Qjw7dCT3nzXcTe6kBlqRrXZKbje6lRqaUO8O3Qjw7dCT3nzXcTe6j3\nnzXcTe6lRq6UL4duhHh26EnvPmu4m91HvPmu4m91KjV0oXw7dCPDt0JPefNdxN7q\nPefNdxN7qVGrpQvh26EeHboTWmUtBMruJvdS+8+a7ib3UqNTShfDs0I8O3Qk9581\n3E3uo95813E3upUaulC+HboR4duhJ7z5ruJvdR7z5ruJvdSo1dKF8O3Qjw7dCa4y\nhpIldxN7qX3nzXcTe6lRq6UL4duhHh26EnvPmu4m91HvPmu4m91KjV0oXw7dCPDt\n0JPefNdxN7qPefNdxN7qVGrpQvh26EeHboSe8+a7ib3UlZcVNa6lK5m91KjV0od4\nduhHh26EnvPmu4m91HvPmu4m91KjV0oXw7dCPDt0JPefNdxN7qPefNdxN7qVGrpQ\nvh26EeHboSe8+a7ib3Ue8+a7ib3UqNXShfDt0I8O3QmtMpFTK7d3G6f6UvvPmu4m\n91KjU0oXw7dCPDt0JPefNdxN7qPefNdxN7qVGrpQvh26EeHboSe8+a7ib3Ue8+a7\nib3UqNXShfDt0IMEYBJoAM5THPuGxvEeKV1QK80FoIyncCo2rJXRsIjdqorqUyMJ\nBJFX0OfLhcpIaoaJgjAxGgbp3EeHboVKOC4Y+GR7HGBssztVnLGv+GSPJlyblVb2\nfHLFatZKCDicWtOUtYXEtbwBCB3h26EeHboU6EBAbduhVbqFoGZaJVO7zIDyPanx\nG7x/MUJdq/EG8fzFC+i+f0HJ8skuf1I32+peobOzLy+5/Ujfb6l6hs7MuH6tvW+a\nXkNOH3WaYzJVDLcMhoC1z3nMxgxHfSRXTZH4HMfE45g9tK7xzLyzcnQkSoCGbps3\nj6lVu/iWv+4ehytTdNm8fUqt38S1/wBw9DlSeTqNrWVc0u5lhCEKSoIQhACazohO\n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\nvRiqa0KL7uq/OXhJuak2dUhZOxNqG8gkfM+pD+bkpzTmWnrousPOuFVarRnQpJqq\nHEgIxBY23rgNghcx9C2aMmlRkqoX3sn7/AwSkQuiNWfhJ3l0R4aUoa1fRnLJ6pV3\nEnTm7TeZ0eE+lOUMc8WDpDOfSn66LrDzrBp1eDLj0Jmui6w86QzxdYedKPMwczcf\n+xZIM/jKf40XUMzLkZLuB15HHi94LsvI3MJOELq2TRU6QW0oy8CzVPJJ9cjO21WX\nOTRdJ/B6FIqck7GxSPErYw0sxPdmDSctPKdxQsvCIdZLcMEJlc1tCDIWYatbUHpV\ny7y5pZTdZDSSrMM1461hk1jsjXOlkgEb8xyDnVGbqrQhc18THtdja5oIf1gRn4VB\nI9RztL4JGhuIuY4BtaVqM1dxSJksetifGTTG0trvoDOt7SOaQ44oxG0EODJnSEuy\nUrmop7sUbQZgnQWQhuDIwMZHhoGMbhNclau3c2RNu8yA8h2v8Vu8fzFCNr/FbvH8\nxQvf/k9BzfKFvP1g32eperbOzLyi9/WjfZ6l6vs7MuD6l8SPSaWd0vzSCKEvLcdK\nUaKZTWgz+VNhuBI4MIwvLA8trUippQpLwPNrI2MYnEAAZMtTl6WTMorFrI3vjZbN\nt20Dqtc12I1I/CvPNS4myRslYWSDE05xvZU5KgI5K1bwqm90rZ5BHI0OLQcLg5xA\nA4lbmIbRxzAE5FSlLJCZPftFOcGtOUU3tC1truMrjLgJoMtciMqRtMIpkFBQJVUk\nMqKlCEAVKxNuDmWbt0XDKcJK21i7d/T253RPGRxrfhvix5ytzdZquPMK425aRsVs\noz+IeeMkLrpnUgedDSfMsGLZ0t9sKOGIgPL8dXZulVb8JJQ2pOi8WFebEpcTeC9V\nhYx6naFmM1bUjiU2ybuWTbd8xzqjM3ean3Eeq2nZD2HM4gs7ZDi3bbnbkpeOIlRx\nCU7fiZox7ZtFK0lFfa8h14JSPJwFKMya/oFcXKdAy4u4LYB0z8IcaDdTbh7ZLKV7\nHYmujcQRvKvMBPtRkZysgjLiPK/Io7Q02ZcR/LMjfSs9Z1a5MadBWuLXJiUpOdNs\nhmiruJq321osJgxXuzR1YS7zLdbmXTP4Vlfl+VkW+Xn8gOzLktqNI2hcR/MfCfOu\ntOZcxtZh/eoR1zGeyVtwLpOXsV6sSt7dXOWtpCl7s52iQjjaoLnL9yWvkjPnqre1\n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\nZPhIJLHxW5c1aeYtF+8XMifYA/4s8bx+M1G+rD9jnw8kYeC9zw5hO40birbGdR8w\n61HedbrjkWfEWIKShlUVRdR0WqStqukzdnjDeXY0Fo8y1Fl7McJLi7kbla54o7TQ\nLTVr2/TNGPcXtbvS+8VVdoW7ri1lhZ0ntoK6VaSLOMnFqSyp1LtJpp8pBZRPhtoo\n39JrQHU0hTHp8HrTk38fB60bbbb5cQlRJZhgtohMZw0a1wwl27QJLr4D/wCk+hTK\nOZmONzM2IEcYUp4pt5CGsHQ48N5lv5Q/0lXpGW42cS0jXvjZiFdwHQmXVobWS1hJ\nxOa19SM26VUYXOqdwMA4G0JXquMbmpL1Ja8etnBXVqmsWqdhqbEGNkx3ea3iCz4I\nnNtdoGnNqG18oK1thQvayYuaW4n5K6KKZmy2sguI5OcJnF2TJvLi4nVk7irtYanP\nSnlNowbjB6JdpnbBq5ly8/ip6FlMGWQ6GuPnW5sCP3Uw0Pw8WRUL20FvczRRVI1d\nfLzjVdHD0tznbrilHsymc03bhLnEttoSwXFvLUuAiIkGnKaK/LfSybOnbM7E9zA+\nNwzFp5Fl2jTrKncY9vE0qxPh/Z7d1eeA5p04TVcvHcOo61yD5cY8m1Wpa3N0aryM\n2tiQiOxjIqTJz3E6StFVNmfooP6G+hW1lddZyrnZ1Q3VzCxdJ/B6FKoouk/g9ClW\nTymqyAhCFBIKObHqn6umPCcNc1aKRRXGr1Emtrq8LsdM9KZaICvai5juHRvfJLHh\nxY5A0NqadHCAd9F3mUVm1ni8TYX2+FjgGyc4uqWnPjdSmhS3eZAeRbW+IN4/mKEu\n1viDeP5ihfQfyOg5fljL39aN9nqXrGzsy8mvv1o32epes7OzLzfqPxV0m1ncRbuf\net8NhJ1jScRALBQjpZRnTLOCaJ3vnxktYGsjiBADQc+Ukp1xZsuZY3SsbJG0EEOr\nUVplFE6CytrZ7nwMDC4BrqboGX1rhNCSWXVNxYXP3KMGI8SzL6aYSzSMxGGNseNw\nNHQHpF2D8WTOtZRut4XvxuYC40qdNM1dKAJM7eFVLz4tp/vH5XKeWKQzB4meG0I1\nYDMIOnKzF51VvGO1lp7x3xhuN6rvZW1tYrFZH3GVzI+dd5cQmYHfMdxN7qXA75ju\nJvdVaaSw5Cbgd8x3E3upMDvmO4m91KaUB6azoBGB3zHcTe6msY7CPeO4m91KYZQS\n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\nBb1Dvnyf4dxGod8+T/DuKp49ulHj26UBb1Dvnyf4dxGod8+T/DuKp49ulHj26UBb\n1Dvnyf4dxGod8+T/AA7iqePbpR49ulAWrPJABWtHPynOee5T1CzhfMAoKAI8e3Sg\nNGoRULO8e3Sjx7dKA0ahFVnePbpR49ulAaJIVO7IoovHt0qvPdtcMhQHmu0PiDeP\n5ihG0emN4+koX0/p9BxchU2g4G5Jac1Mo3lcttsXY+NeTneec6xznQuR08Z66s63\nJ4jw7jX5aprU+zlN/wDepPq5+0j96k+rn7SwUi02M3Cda8xT9U3/AN6k+rn7SX96\nk+rn7S59CbGbhOteYfqm/wDvUn1c/aR+9SfVz9pYCE2M3Cda8w/VN/8AepPq5+0j\n96k+rn7SwEJsZuE615h+qb/71J9XP2kv71J9XP2lz6E2M3Cda8w/VOg/epPq5+0j\n96k+rn7S59CbGbhOteYfqnQfvUn1c/aSfvUn1c/aWAhNjNwnWvMP1Tf/AHqT6uft\nI/epPq5+0sBCbGbhOteYfqm/+9SfVz9pL+9SfVz9pc+hNjNwnWvMP1Tf/epPq5+0\nj96k+rn7SwEqbGbhOteYfqm9+9S/Vz9r/qj96l+rn7X/AFWEhNjNwvWh+qbv71L9\nXP2kfvUv1c/aWEhNjNwvWh+qbv71L9XP2v8Aqj96l+rn7SwUqbGbhetD9U3f3qX6\nuftf9UfvUv1c/aWClTYzcL1xH6pu/vUv1c/a/wCqP3qX6uftLBSpsZuF64j9U3f3\nqX6uftI/epfq5+1/1WEkTYzcL1xH6pvfvUv1c/a/6o/epfq5+0sFCbObheuI/VN7\n96l+rn7SP3qX6uftLCQmxm4XrQ/VN396l+rn7SP3qX6uftLCQmxm4XrQ/VN396l+\nrn7SP3qX6uftf9VgoTYzcL1ofqm9+9S/Vz9pH71L9XP2lhITYzcL1xH6pu/vU31c\n/aR+8y/Vz9pYaE2M3C9cR+obn71N9XP2kfvM31c/aWGlTYzcL1xH6hufvM31c/aR\n+8zfVz9pYaE2M3C9cSMfzDc/eZvq5+0j95m+qn7SxEqn3ebhuuIx/MNr94m+qn7S\nP3ib6qftLGQE93m4briMfzDa/eJvqp+0j94n+qn7SxkoU+6/1vwjH8w2P3ef6qft\nI/d5/qp+0sgJVPuf9f8ACRtfmGv+7z/VT9pH7vP9VP2lkJU9z/r/AIRtfmGt+7z/\nAFU/aR+7T/VT9pZKVT7j/X/CNr8w1f3af6qftI/dp/qp+0spCe4/1/wja/MNX92n\n+qn7SP3af6qftLLSJ7j/AF/wkbX5hq/u0/1U/aR+7T/VT9pZSE9x/r/hJ2vzDV/d\np/qp+0j92n+qn7Sy0J7j/X/CNr8w1P3af6qftI/dp/qp+0spKnuP9f8ACNr8w1P3\naf6qftI/dp/qp+0spCe4/wBf8I2vzCa7mZKW4K5BQkoVcoVtrX5KjDVP/9k=\n---END_DATA---\n%/
| source file:|{{{D:\scd-Corguiho\sApresentações\sSoil Degradação\sconcern-small.gif}}}|\n| attached on:|12 Julho 2007 by Skye|\n| description:|attached by FileDropPlugin|\n| embedded:|[[concern-small.gif|concern-small.gif]] - {{{type=image/gif, size=31624 bytes, encoded=42826 bytes}}}|\n| local file:|/%LOCAL_LINK%/[[D:\scd-Corguiho\sApresentações\sSoil Degradação\sconcern-small.gif|file:///D:/cd-Corguiho/Apresentações/Soil Degradação/concern-small.gif]]|\n| remote link:|//none//|\nimage\n<<<\nusage: {{{[img[tooltip|concern-small.gif]] or [img[tooltip|concern-small.gif][link]]}}}\n[img[tooltip|concern-small.gif]]\n<<<\n\n/% DO NOT EDIT BELOW THIS POINT\n---BEGIN_DATA---\nimage/gif;base64,\n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\n---END_DATA---\n%/
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<tiddler 'LoginPanel'>><<slider chkSliderOptionsPanel OptionsPanel 'opções »' 'Muda as opções avançadas do TiddlyWiki'>>
!Casa Crianças - Nucleo São Joaquim\n\n22 de Julho, A Casa das Crianças, //Estrela Guia// foi oficialmente inaugarado no Nucleo São Joaquim. A casa esta feito com a tecnica de sacos de terra (tambem conhecido como superadobe) e a telhado esta a capin sapé. Responsavel por a construição foi M José, com C. Meije responsavel por a detalhamento interna!!!\n\nPara Bens São Joaquim !\n\n[[Album das fotos]]\n\n\n\n
<<include "http://www.ipcp.org.br/UDV/13 Region/index.php">>\n:
| source file:|{{{F:\sencantologo.jpg}}}|\n| attached on:|13 Julho 2007 by Skye|\n| description:|attached by FileDropPlugin|\n| embedded:|[[encantologo.jpg|encantologo.jpg]] - {{{type=image/jpeg, size=16824 bytes, encoded=22782 bytes}}}|\n| local file:|/%LOCAL_LINK%/[[F:\sencantologo.jpg|file:///F:/encantologo.jpg]]|\n| remote link:|//none//|\nimage\n<<<\nusage: {{{[img[tooltip|encantologo.jpg]] or [img[tooltip|encantologo.jpg][link]]}}}\n[img[tooltip|encantologo.jpg]]\n<<<\n\n/% DO NOT EDIT BELOW THIS POINT\n---BEGIN_DATA---\nimage/jpeg;base64,\n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\nfMS5wfJYkQijMnYhkX0qEWmzHSY8oK5lRQuBNFstc3CS4rygnmXYLR6GEfmQFWWh\n8dsK9ZExWisyQNk7O3/dsGXwGCBrmef7+5vkSIXegX/wXpxtfYxMRBwcW2RrEw8M\n0byzmagZmQPIqqs0FyoCXxSo3FaDODWJW8YQmwcBh9X4U9oOmwYVsoqUuNTKqhZk\n3vRW0qtCFFHpL0iyU6V7zXjpojxUl5DWBnulQ3+kS3Y6V0rrIjmpOET2PMZq37TZ\nOXrn3UUsoZz6B+6to9HLyfGKhyoiTkcK5q0vDIROEcRNTTM4AlSd+DVOrSM6REgH\nbrbOKFGdDERFbLaGLkU6oQ+FPIalsOlBQRSkAU7PvREPd5xL8gN9ri0GyicmH8Y5\nLjRSlAEpEThGZqpkJHbgz8u/6+I/+E++2FrkvxlWgZfc0JtiQw0TRWggddTD7Ml0\nzJ1LtAzBeShDMbQdwMG7xiH4q4aNPA5DBEpQ9pGDDSBro8CIqzcbOjyhNKqQfFiY\nneUQDiMjJqDh1BdniTZTQtDPlqiq6WstM9e3Y2vF284iOIkQRFIYG2xTVbbHTUgm\n/DzzVZqpERTJe5ivBXPRn7vqtAXvGXchCCooHy2jRDbLpEppPmLam6WNry4URT90\nQ0RoIZHieiAr0IkuoENra1QqetTUqTwwUV2xsfFXi+rjziuGu9ebDZzCns9VuDHx\nd4f9e977efstnPRnG2c7p2uclSJP9Xi064Z1LLjnOd9uxJ8v+r/jZyndRfgrnoz9\n3rstoz+7kH+sxnuQmZ9rgwnwa8l/4B+11m2c/d+dt+c/wtdXhRegif3Dna7Eny/6\nt+NnDtzXtxXgzn0D91eay7bRi/1cg/1iM/dwmea2CZzJMLcGMIK8/wBSLD9sx1ZW\n2c5wtvznr9VrqWUSXoX/ANw5mVt+c5xt2I/l/wBX/G7qK8Fc+gfu2WCi5/Fl1Z/O\n0XDRC3FCJQWD0XPD5sL+VuJxXkF1Zz7ODsO+3AXkiiSVQiy24/CGM9HrtxKJ/wBM\nurO23E4ryC6rXbCxQRHINO9vJs/2TRPbbicV5BdXRn8rdihl1rj1QqM+L7f238u3\nNbIKlZO1SPMllEV3WpHmSyAkv4WoDmS1I8yWpHmS1I8yWRES0l7YrTnPRZRlnP3/\nAGLaSVS3etM7v52lq+aefVK332NETqsstHnOdlk2LnO20p9Wc89pqS5znz2wp585\n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\n3ktGXXBR6ipiqOAi0OgWjdBOORgqLSuGrwONarXbuahIe9YuHR+L0CNQx6LfCiOu\nUXMVUKTo1cAFUTXKaLxQkHCQEOjbLYttj4oJJOddm3lXEseedt0X1t3fvJn3Hs/j\nbPq6+Lzp7c9U5+3p2YWvRKoUf2iE/wB2yqee08+r5+yduy5sgPvX9juoXwpv0w96\n2c5xw/ihPygjf2eC83DjMM81s52fFOme6Pwq6/3g3h/8n7bFz8M80p/HPT8tk1vD\n6lP18N/uWs5Sy8eeP+vTPbbsubID7z/Y7qG8Jb9MfalvNmWdnn22hfyhjv2eC9+M\ntlNnPhzL6/bbdD4ddf7en+g909Vtmc/LYssLLnOV9to7FpP17H+u3n4YW6s8nn82\nCW7LnBgPvX9jrz0dzDeEt+mHvJbTNeUP83xXozKFcbG/owqhkrEHjUm2qJ5889tO\nz5Y/zJ0T/CXxv9xso+69ZF+ncvJDP7dttMz5Ydaez2etOO2nZ8selU/HbnlS0Y60\nrSaw/XMeN/7288ttOz5Y/wAyfP4+VbstEJjASVFksTx/qeTO3Z3CrLt1Fyr12qLl\ntUXKvXbSLVt/HO21Zcq9dqz5V67VLy2qLlXrtNV22n21SdkWfrynN124uvOfwtx2\n/pZFVbbSss55zxfjZSzs67LJMc59VknVn1W4l8+fP08lvGzn2ea01lPOcytNe41b\nSTtpLtSRMr2pIvd8a9qdl4PaUs+u085zLtIs07tEptssqY2ljnPNZbLhZM+e0s5z\n0WRJf8n/AP/EAEsQAAEEAQIDAwUKCgYLAAAAAAMBAgQFBhESABMhBxQiFRYxMkEQ\nICMzUXSRkrPwJDRCQ1Jhc3WBsiVxk6HB8Sc1QFBTcoOitLXR/9oACAEBAAY/Av8A\ncE75nJ+xX3eiqn9Xt49ZfpXj1nfTx67vrfT7eHurK22sWhc1hXV8KXMQRHJuYwjo\n6O0XTqiL14w2xi02QSrC4hTj3cePDsJBK6R3lH18eRGC1XBXu7uqORvja72pxm0W\n2h2FfJWPjJmx7GPIim5TyWCNKgpKIu1dOi+hdP1e+nfM5P2K8f5e3j7/ACcClc+B\nRUx5TYQrq7OkSNMlvftbErBO8Ukqr00H4dU0V6Lxd4/Px/JL6dQ1N9Ok2NpOWlDI\nmUIHHPFHUQvGFjtqsaQhCP8AylZ16QKSPjOTYpPtpcaBCl1lyO9iMlSyIITpkGya\n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\nNN53Cw8EONuTuVY5f27LjZkMyb/Dgf/Z\n---END_DATA---\n%/