Welcome to TiddlyWiki created by Jeremy Ruston, Copyright © 2007 UnaMesa Association
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}
h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}
.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}
.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}
.tabSelected{color:[[ColorPalette::PrimaryDark]];
background:[[ColorPalette::TertiaryPale]];
border-left:1px solid [[ColorPalette::TertiaryLight]];
border-top:1px solid [[ColorPalette::TertiaryLight]];
border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}
#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}
.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}
#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}
.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}
.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}
.tiddler .defaultCommand {font-weight:bold;}
.shadow .title {color:[[ColorPalette::TertiaryDark]];}
.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}
.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}
.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}
.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}
.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}
.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}
.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}
.imageLink, #displayArea .imageLink {background:transparent;}
.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}
.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}
.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}
.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}
.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}
.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}
#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}
body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}
h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}
hr {height:1px;}
a {text-decoration:none;}
dt {font-weight:bold;}
ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}
.txtOptionInput {width:11em;}
#contentWrapper .chkOptionInput {border:0;}
.externalLink {text-decoration:underline;}
.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}
.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}
/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}
#mainMenu .tiddlyLinkExisting,
#mainMenu .tiddlyLinkNonExisting,
#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}
.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}
.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}
#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}
#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}
.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}
.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}
#contentWrapper {display:block;}
#splashScreen {display:none;}
#displayArea {margin:1em 17em 0em 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0em 1em;}
.missing .viewer,.missing .title {font-style:italic;}
.title {font-size:1.6em; font-weight:bold;}
.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}
.tiddler .button {padding:0.2em 0.4em;}
.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.footer {font-size:.9em;}
.footer li {display:inline;}
.annotation {padding:0.5em; margin:0.5em;}
* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}
.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}
.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}
.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}
.sparkline {line-height:1em;}
.sparktick {outline:0;}
.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}
* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which use a logographic writing system and need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
.htmlarea .toolbarHA table {border:1px solid ButtonFace; margin:0em 0em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar closeTiddler closeOthers +editTiddler > fields syncing permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar +saveTiddler -cancelTiddler deleteTiddler'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser
Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)
<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations
----
Also see AdvancedOptions
* [[Castellano|hhttp://101recursosdidacticos.blogspot.com/]]
* [[English|http://101teachingresources.blogspot.com/]]
* [[Català|http://101recursosdidactics.blogspot.com/]]
Hoy El Mundo publica un artículo sobre mi [[Devolución de ruindous|http://pacoriviere.googlepages.com/TornarElUindous.html]]: [[Casado con Windows|http://www.elmundo.es/navegante/2007/05/26/tecnologia/1180175185.html]]
[img[Beryl i TiddlyWiki al Mundo|BerylTWMundo.jpg]]
Es TiddlyWiki, sí.
Hoy el nuevo Público publica un artículo sobre mi [[Devolución de ruindous|http://pacoriviere.googlepages.com/TornarElUindous.html]]: [[Dos años para devolver un programa que no quiere|http://www.publico.es/ciencias/tecnologia/002719/anos/devolver/programa/quiere]] - 27-09-2007
// //''Name:'' Blog
// //''Version:'' 0.1
// //''Author:'' [[Anshul Nigham|http://yavin4.anshul.info]] (adapted from an earlier plugin by [[ClintChecketts|http://www.checkettsweb.com/]])
// //''Type:'' Plugin
// //''Description:'' Posts the most recently edited tiddlers when the TiddlyWiki is opened, similar to a blog.
// //''Syntax:'' Change the daysOrPosts and numOfDaysOrPosts variables below
// // If daysOrPosts variable is "days", tiddlers from the past numOfDaysOrPosts dates will be displayed
// // If daysOrPosts variable is "posts", the past numOfDaysOrPosts tiddlers will be displayed
// // ''Tested against:'' Tiddlywiki 2.1.3
// // ''HOWTO:'' Simply copy this entire tiddler and paste it into a new tiddler in your own tiddlywiki.
// // Tag it with systemConfig, and also with systemTiddlers if you don't want it to appear within the blog views. Name it anything you like
var daysOrPosts = "posts";
var numOfDaysOrPosts = "10";
function displayTopTiddlers()
{
if(window.location.hash) daysOrPosts = "";
if(daysOrPosts == "posts")
{
var tiddlerNames = store.reverseLookup("tags","systemTiddlers",false,"modified");
if (tiddlerNames.length < numOfDaysOrPosts)
numOfDaysOrPosts = tiddlerNames.length;
for(var t = tiddlerNames.length-numOfDaysOrPosts;t<=tiddlerNames.length-1;t++)
story.displayTiddler("top",tiddlerNames[t].title,DEFAULT_VIEW_TEMPLATE,false,false);
}
if (daysOrPosts == "days"){
var lastDay = "";
var tiddlerNames = store.reverseLookup("tags","systemTiddlers",false,"modified");
var t = tiddlerNames.length -1;
var tFollower = 0;
for(t;t>=0;t--) if(numOfDaysOrPosts >= 0){
var theDay = tiddlerNames[t].modified.convertToYYYYMMDDHHMM().substr(0,8);
if(theDay != lastDay){
numOfDaysOrPosts = numOfDaysOrPosts -1;
lastDay = theDay;
tFollower = t;
}
}
for(tFollower = tFollower+1; tFollower < tiddlerNames.length;tFollower++){
displayTiddler("top",tiddlerNames[tFollower].title,DEFAULT_VIEW_TEMPLATE,false,false);
}
}
}
window.original_restart = window.restart;
window.restart = function()
{
window.original_restart();
displayTopTiddlers();
}
[>img[I love comments|http://farm4.static.flickr.com/3230/2363248475_260e2ed0ee_o.jpg][http://flickr.com/photos/morbitphotography/2363248475/]]Por que nos cuesta tanto dejar un comentario animando a los desarrolladores?
Hay muchas formas de colaborar con el software libre. No hace falta desarrollar. Las opiniones de los usuarios son esenciales para animar, motivar y convencer a los que desarrollamos software libre de que nuestro esfuerzo es útil para la sociedad, o al menos para tí.
Por qué en nuestras latitudes cuesta tanto dejar un comentario? He colaborado con diversos proyectos de software libre (para PalmOS, Java, Linux, y hasta para uindous$) tanto en el mundo hispano como en el mundo anglosajón. En este último las preguntas, comentarios, sugerencias, críticas y propuestas de mejora se cuentan por miles. En el primero son escasisimas sino totalmente inexistentes. Y no puedo comprender por qué. Es cierto que últimamente ha mejorado un poco. Hace pocos años eran casi nulas, pero aún así siguen siendo rarísimas en comparación con otros marcos culturales.
Comprendo que a nadie le guste llenar un formulario de registro y dejar algunos datos para hacer un comentario. Pero es el único precio que pedimos los desarroladores de software libre, a cambio de miles de horas de trabajo desinteresado, para que tú puedas disfrutar de casi cualquier aplicación, a un precio ridículo, si no nulo. Realmente cuesta tanto? Si como es lógico quieres proteger la intimidad de tu correo, puedes incluso dejar datos falsos o medio ciertos, o añadir por ejemplo la palabra NOSPAM a tu correo electrónico, obligando así a que para utilizarlo se deban revisar manualmente las direcciones.
Pero por favor, la próxima vez que utilices software libre, tengas una duda, te parezca útil, tengas alguna sugerencia, estés agradecido, o incluso disgustado, ** Deja Tu Opinión!! **
No te pedimos que pagues nada, ni tu número de targeta, ni que esperes a que te llegue el CD por correo ordinario. Puedes bajar el software, probarlo de inmediato y si no lo deseas no tendrás que pagar ni siquiera si te gusta mucho y te resulta muy útil, aunque en este caso siempre es de agradecer una donación.
/*{{{*/
config.options.txtUserName = "PacoRivière";
/*}}}*/
// //''Name:'' Favicon
// //''Version:'' v0.1.0 (18 July 2005) - initial release
// //''Author:'' AlanHecht
// //''Type:'' SystemConfig
// //http://www.chami.com/html-kit/services/favicon
// //''Code section:''
version.extensions.favicon = {major: 0, minor: 1, revision: 0, date: new Date("Jul 18, 2005")};
var n = document.createElement("link");
n.rel = "shortcut icon";
n.href = "favicon.ico";
document.getElementsByTagName("head")[0].appendChild(n);
/***
|Name|FontSizePlugin|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#FontSizePlugin|
|Version|1.0|
|Requires|~TW2.x|
!Description:
Resize tiddler text on the fly. The text size is remembered between sessions by use of a cookie.
You can customize the maximum and minimum allowed sizes.
(only affects tiddler content text, not any other text)
Also, you can load a TW file with a font-size specified in the url.
Eg: http://lewcid.googlepages.com/lewcid.html#font:110
!Demo:
Try using the font-size buttons in the sidebar, or in the MainMenu above.
!Installation:
Copy the contents of this tiddler to your TW, tag with systemConfig, save and reload your TW.
Then put {{{<<fontSize "font-size:">>}}} in your SideBarOptions tiddler, or anywhere else that you might like.
!Usage
{{{<<fontSize>>}}} results in <<fontSize>>
{{{<<fontSize font-size: >>}}} results in <<fontSize font-size:>>
!Customizing:
The buttons and prefix text are wrapped in a span with class fontResizer, for easy css styling.
To change the default font-size, and the maximum and minimum font-size allowed, edit the config.fontSize.settings section of the code below.
!Notes:
This plugin assumes that the initial font-size is 100% and then increases or decreases the size by 10%. This stepsize of 10% can also be customized.
!History:
*27-07-06, version 1.0 : prevented double clicks from triggering editing of containing tiddler.
*25-07-06, version 0.9
!Code
***/
//{{{
config.fontSize={};
//configuration settings
config.fontSize.settings =
{
defaultSize : 100, // all sizes in %
maxSize : 200,
minSize : 40,
stepSize : 10
};
//startup code
var fontSettings = config.fontSize.settings;
if (!config.options.txtFontSize)
{config.options.txtFontSize = fontSettings.defaultSize;
saveOptionCookie("txtFontSize");}
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
setStylesheet("#contentWrapper .fontResizer .button {display:inline;font-size:105%; font-weight:bold; margin:0 1px; padding: 0 3px; text-align:center !important;}\n .fontResizer {margin:0 0.5em;}","fontResizerButtonStyles");
//macro
config.macros.fontSize={};
config.macros.fontSize.handler = function (place,macroName,params,wikifier,paramString,tiddler)
{
var sp = createTiddlyElement(place,"span",null,"fontResizer");
sp.ondblclick=this.onDblClick;
if (params[0])
createTiddlyText(sp,params[0]);
createTiddlyButton(sp,"+","increase font-size",this.incFont);
createTiddlyButton(sp,"=","reset font-size",this.resetFont);
createTiddlyButton(sp,"–","decrease font-size",this.decFont);
}
config.macros.fontSize.onDblClick = function (e)
{
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return false;
}
config.macros.fontSize.setFont = function ()
{
saveOptionCookie("txtFontSize");
setStylesheet(".tiddler .viewer {font-size:"+config.options.txtFontSize+"%;}\n","fontResizerStyles");
}
config.macros.fontSize.incFont=function()
{
if (config.options.txtFontSize < fontSettings.maxSize)
config.options.txtFontSize = (config.options.txtFontSize*1)+fontSettings.stepSize;
config.macros.fontSize.setFont();
}
config.macros.fontSize.decFont=function()
{
if (config.options.txtFontSize > fontSettings.minSize)
config.options.txtFontSize = (config.options.txtFontSize*1) - fontSettings.stepSize;
config.macros.fontSize.setFont();
}
config.macros.fontSize.resetFont=function()
{
config.options.txtFontSize=fontSettings.defaultSize;
config.macros.fontSize.setFont();
}
config.paramifiers.font =
{
onstart: function(v)
{
config.options.txtFontSize = v;
config.macros.fontSize.setFont();
}
};
//}}}
<<fontSize Aa: >>[img[Paco Rivière|FR2006_100x113.png][PacoRivière]]
^^[[English|eng.html]] [[català|index.html]] [[Espejo|http://pacoriviere.googlepages.com/es.html]]^^
<<today "DD MMM YYYY">> [[RSS|es.xml]]
<script type="text/javascript"><!--
google_ad_client = "pub-0143440029578644";
google_ad_width = 728;
google_ad_height = 15;
google_ad_format = "728x15_0ads_al_s";
//2007-05-21: pacoriviere.cat
google_ad_channel = "6887223433";
google_color_border = "FFFFFF";
google_color_bg = "E6E6E6";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->
<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;">Cargando <b>La rueda es redonda</b><blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>
/***
|Name|NavigationMacro|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#NavigationMacro|
|Version|0.3 |
|Requires|~TW2.08+|
!Description:
*Creates Next and Prev buttons on tiddlers, to cycle through tiddlers in order.
**you can create next and previous buttons to navigate through your journals, or the tiddlers of a tutorial.
*You can exclude certain tiddlers, or navigate through tiddlers with a specific tag only.
*The tiddlers can be sorted by modified or created.
*Custom ordering will be available after the release of TW 2.1
*Needs to be added to the ViewTemplate
*Buttons are updated dynamically and are hidden if there is no next or previous tiddler.
!Usage
{{{<<navigation>>}}}
or for more options:
{{{<<navigation sort exclude tag labelPrevious labelNext >>}}}
where sort is ''created'' (default) or ''modified''
exlcude is the tag to exclude.
tag is the tag to navigate through.
labelPrevious is the label for the previous button.
labelNext is the label for the next button.
I recommend adding it to the ViewTemplate in the viewer div:
{{{<div class='viewer'>
<span macro='view text wikified'></span>
<span macro='navigation "" "" plugin'></span></div>}}}
!Example:
The next and previous buttons at the bottom of this tiddler will cycle through all of my extensions for TW.
!History
* 25-06-06 : version 0.3, first release
!Code
***/
//{{{
window.refreshNavLink = function (e) {
var title = e.getAttribute("here");
var sort = e.getAttribute("sort");
var exclude = e.getAttribute("exclude");
if (e.getAttribute("tag")!=undefined) var tag = e.getAttribute("tag");
var navtype = e.getAttribute("navtype");
if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
else {var tiddlers = store.getTiddlers(sort,exclude);}
for (var g=0; g<tiddlers.length; g++)
{if (title==tiddlers[g].title)
{if(navtype=="next" && !tiddlers[g+1])
e.className += " navNonExisting"
else if (navtype=="prev" && !tiddlers[g-1])
e.className += " navNonExisting"
else e.className = "button";}
}
}
config.refreshers.navLink = function(e,changeList){
refreshNavLink(e);
}
config.macros.navigation={};
config.macros.navigation.handler = function(place,macroName,params,wikifier,paramString,tiddler){
var sort = (params[0] && params[0]!=".")? params[0]: "created";
var exclude =(params[1] && params[1]!=".")? params[1]: undefined;
if (params[2])
{var tag= params[2];
if(tiddler.tags.contains(tag)==false)
return false;
}
var labelPrev = params[3] ? params[3] : "Previous";
var labelNext = params[4] ? params[4] : "Next";
var next = function(e){
if (!e) var e=window.event;
var theTarget = resolveTarget(e);
var navtype = theTarget.getAttribute("navtype");
if (tag) {var tiddlers = store.getTaggedTiddlers(tag,sort);}
else {var tiddlers = store.getTiddlers(sort,exclude);}
for (var g=0; g<tiddlers.length; g++)
{if (tiddler.title==tiddlers[g].title)
{if (navtype == "next")
story.displayTiddler(theTarget,tiddlers[g+1].title)
else if (navtype == "prev")
story.displayTiddler(theTarget,tiddlers[g-1].title)}
}
}
var createNavBtn = function(text,theId,mode){
var nextBtn = createTiddlyButton(place,text,text,next,null,theId);
nextBtn.setAttribute("refresh","navLink");
nextBtn.setAttribute("here",tiddler.title);
nextBtn.setAttribute("sort",sort);
nextBtn.setAttribute("exclude",exclude);
nextBtn.setAttribute("navtype",mode);
if (tag) nextBtn.setAttribute("tag",tag);
refreshNavLink(nextBtn);
}
createNavBtn(labelNext+" ►","NavNext","next");
createNavBtn("◄ "+labelPrev,"NavPrevious","prev");
}
setStylesheet(
"#NavNext {float:right;}\n"+
"#NavPrevious {float:left;}\n"+
".navNonExisting {display:none;}\n"+
"",
"NavMacroStyles");
//}}}
^^[[català|index.html]] [[English|eng.html]] [[Espejo|http://pacoriviere.googlepages.com/es.html]]^^
Paco Rivière es Ingeniero Técnico Industrial, y habla inglés, francés y alemán, dispone de títulos de conocimientos lingüísticos de las Universidades de Cambridge y Tolouse. Ha trabajado muchos años localizando programas y manuales de software propietario primero y actualmente de software libre. Es el promotor de los proyectos de localización al catalán, Palmcat.cat sobre informática de bolsillo y TiddlywikiCA bloc personal no lineal. Además fué elegido administrador de la Wikipedia. Es autor de varios blogs, de un podcast, y promotor del primer audiolibro libre en catalán, Memòria Prohibida, entre otros, y de un canal de video educativo.
En 2004 fue nombrado Palm Powered Expert Guide por Palm, la empresa pionera en ordenadores de bolsillo.
Fue invitado en 2005 a hablar sobre sus proyectos en la Internet Global Congress y en dos ocasiones en el Congreso del Observatorio de la Cibersociedad. Es colaborador asíduo del programa "El Internauta" de Catalunya Ràdio.
También es profesor de Instituto en Barcelona, formador telemático de formadores, y dispone de su propia aula virtual, donde tutoriza cursos de software libre. Da cursos habitualmente en varias Escuelas de Verano y colabora en proyectos de investigación de didáctica educativa, como el Grupo DiM de Didáctica i Multimèdia de la Universidad Autònoma.
[[Galindaines|http://galindaines.blogspot.com]] es mi blog personal.
Diseñamos su web
[[Vídeo|http://video.pacoriviere.cat]]
[[Artículos en venta|http://subasta.pacoriviere.cat]]
Contacto: web (a) pacoriviere punto cat
<div class='header'>
<div class='titleLine'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='sidebar'><div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
<div id='sidebarCopyright' tiddler='Copyright'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<div id='contentFooter'><p>© 2006 <a href='http://pacoriviere.cat'>Paco Rivière</a>, <a href='http://www.osmosoft.com'>osmosoft</a> i <a href='http://checkettsweb.com'>Clint Checketts</a>
</p></div>
/***
|<html><a name="Top"/></html>''Name:''|PartTiddlerPlugin|
|''Version:''|1.0.8 (2007-06-16)|
|''Source:''|http://tiddlywiki.abego-software.de/#PartTiddlerPlugin|
|''Author:''|UdoBorkowski (ub [at] abego-software [dot] de)|
|''Licence:''|[[BSD open source license]]|
|''CoreVersion:''|2.1.3|
|''Browser:''|Firefox 1.0.4+; InternetExplorer 6.0|
!Table of Content<html><a name="TOC"/></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Description',null, event)">Description, Syntax</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Applications',null, event)">Applications</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('LongTiddler',null, event)">Refering to Paragraphs of a Longer Tiddler</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Citation',null, event)">Citation Index</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('TableCells',null, event)">Creating "multi-line" Table Cells</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Tabs',null, event)">Creating Tabs</a></html>
** <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Sliders',null, event)">Using Sliders</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Revisions',null, event)">Revision History</a></html>
* <html><a href="javascript:;" onclick="window.scrollAnchorVisible('Code',null, event)">Code</a></html>
!Description<html><a name="Description"/></html>
With the {{{<part aPartName> ... </part>}}} feature you can structure your tiddler text into separate (named) parts.
Each part can be referenced as a "normal" tiddler, using the "//tiddlerName//''/''//partName//" syntax (e.g. "About/Features"). E.g. you may create links to the parts (e.g. {{{[[Quotes/BAX95]]}}} or {{{[[Hobbies|AboutMe/Hobbies]]}}}), use it in {{{<<tiddler...>>}}} or {{{<<tabs...>>}}} macros etc.
''Syntax:''
|>|''<part'' //partName// [''hidden''] ''>'' //any tiddler content// ''</part>''|
|//partName//|The name of the part. You may reference a part tiddler with the combined tiddler name "//nameOfContainerTidder//''/''//partName//. <<br>>If you use a partName containing spaces you need to quote it (e.g. {{{"Major Overview"}}} or {{{[[Shortcut List]]}}}).|
|''hidden''|When defined the content of the part is not displayed in the container tiddler. But when the part is explicitly referenced (e.g. in a {{{<<tiddler...>>}}} macro or in a link) the part's content is displayed.|
|<html><i>any tiddler content</i></html>|<html>The content of the part.<br>A part can have any content that a "normal" tiddler may have, e.g. you may use all the formattings and macros defined.</html>|
|>|~~Syntax formatting: Keywords in ''bold'', optional parts in [...]. 'or' means that exactly one of the two alternatives must exist.~~|
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!Applications<html><a name="Applications"/></html>
!!Refering to Paragraphs of a Longer Tiddler<html><a name="LongTiddler"/></html>
Assume you have written a long description in a tiddler and now you want to refer to the content of a certain paragraph in that tiddler (e.g. some definition.) Just wrap the text with a ''part'' block, give it a nice name, create a "pretty link" (like {{{[[Discussion Groups|Introduction/DiscussionGroups]]}}}) and you are done.
Notice this complements the approach to first writing a lot of small tiddlers and combine these tiddlers to one larger tiddler in a second step (e.g. using the {{{<<tiddler...>>}}} macro). Using the ''part'' feature you can first write a "classic" (longer) text that can be read "from top to bottom" and later "reuse" parts of this text for some more "non-linear" reading.
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!!Citation Index<html><a name="Citation"/></html>
Create a tiddler "Citations" that contains your "citations".
Wrap every citation with a part and a proper name.
''Example''
{{{
<part BAX98>Baxter, Ira D. et al: //Clone Detection Using Abstract Syntax Trees.//
in //Proc. ICSM//, 1998.</part>
<part BEL02>Bellon, Stefan: //Vergleich von Techniken zur Erkennung duplizierten Quellcodes.//
Thesis, Uni Stuttgart, 2002.</part>
<part DUC99>Ducasse, Stéfane et al: //A Language Independent Approach for Detecting Duplicated Code.//
in //Proc. ICSM//, 1999.</part>
}}}
You may now "cite" them just by using a pretty link like {{{[[Citations/BAX98]]}}} or even more pretty, like this {{{[[BAX98|Citations/BAX98]]}}}.
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!!Creating "multi-line" Table Cells<html><a name="TableCells"/></html>
You may have noticed that it is hard to create table cells with "multi-line" content. E.g. if you want to create a bullet list inside a table cell you cannot just write the bullet list
{{{
* Item 1
* Item 2
* Item 3
}}}
into a table cell (i.e. between the | ... | bars) because every bullet item must start in a new line but all cells of a table row must be in one line.
Using the ''part'' feature this problem can be solved. Just create a hidden part that contains the cells content and use a {{{<<tiddler >>}}} macro to include its content in the table's cell.
''Example''
{{{
|!Subject|!Items|
|subject1|<<tiddler ./Cell1>>|
|subject2|<<tiddler ./Cell2>>|
<part Cell1 hidden>
* Item 1
* Item 2
* Item 3
</part>
...
}}}
Notice that inside the {{{<<tiddler ...>>}}} macro you may refer to the "current tiddler" using the ".".
BTW: The same approach can be used to create bullet lists with items that contain more than one line.
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!!Creating Tabs<html><a name="Tabs"/></html>
The build-in {{{<<tabs ...>>}}} macro requires that you defined an additional tiddler for every tab it displays. When you want to have "nested" tabs you need to define a tiddler for the "main tab" and one for every tab it contains. I.e. the definition of a set of tabs that is visually displayed at one place is distributed across multiple tiddlers.
With the ''part'' feature you can put the complete definition in one tiddler, making it easier to keep an overview and maintain the tab sets.
''Example''
The standard tabs at the sidebar are defined by the following eight tiddlers:
* SideBarTabs
* TabAll
* TabMore
* TabMoreMissing
* TabMoreOrphans
* TabMoreShadowed
* TabTags
* TabTimeline
Instead of these eight tiddlers one could define the following SideBarTabs tiddler that uses the ''part'' feature:
{{{
<<tabs txtMainTab
Timeline Timeline SideBarTabs/Timeline
All 'All tiddlers' SideBarTabs/All
Tags 'All tags' SideBarTabs/Tags
More 'More lists' SideBarTabs/More>>
<part Timeline hidden><<timeline>></part>
<part All hidden><<list all>></part>
<part Tags hidden><<allTags>></part>
<part More hidden><<tabs txtMoreTab
Missing 'Missing tiddlers' SideBarTabs/Missing
Orphans 'Orphaned tiddlers' SideBarTabs/Orphans
Shadowed 'Shadowed tiddlers' SideBarTabs/Shadowed>></part>
<part Missing hidden><<list missing>></part>
<part Orphans hidden><<list orphans>></part>
<part Shadowed hidden><<list shadowed>></part>
}}}
Notice that you can easily "overwrite" individual parts in separate tiddlers that have the full name of the part.
E.g. if you don't like the classic timeline tab but only want to see the 100 most recent tiddlers you could create a tiddler "~SideBarTabs/Timeline" with the following content:
{{{
<<forEachTiddler
sortBy 'tiddler.modified' descending
write '(index < 100) ? "* [["+tiddler.title+"]]\n":""'>>
}}}
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!!Using Sliders<html><a name="Sliders"/></html>
Very similar to the build-in {{{<<tabs ...>>}}} macro (see above) the {{{<<slider ...>>}}} macro requires that you defined an additional tiddler that holds the content "to be slid". You can avoid creating this extra tiddler by using the ''part'' feature
''Example''
In a tiddler "About" we may use the slider to show some details that are documented in the tiddler's "Details" part.
{{{
...
<<slider chkAboutDetails About/Details details "Click here to see more details">>
<part Details hidden>
To give you a better overview ...
</part>
...
}}}
Notice that putting the content of the slider into the slider's tiddler also has an extra benefit: When you decide you need to edit the content of the slider you can just doubleclick the content, the tiddler opens for editing and you can directly start editing the content (in the part section). In the "old" approach you would doubleclick the tiddler, see that the slider is using tiddler X, have to look for the tiddler X and can finally open it for editing. So using the ''part'' approach results in a much short workflow.
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!Revision history<html><a name="Revisions"/></html>
* v1.0.8 (2007-06-16)
** Speeding up display of tiddlers containing multiple pard definitions. Thanks to Paco Rivière for reporting the issue.
** Support "./partName" syntax inside <<tabs ...>> macro
* v1.0.7 (2007-03-07)
** Bugfix: <<tiddler "./partName">> does not always render correctly after a refresh (e.g. like it happens when using the "Include" plugin). Thanks to Morris Gray for reporting the bug.
* v1.0.6 (2006-11-07)
** Bugfix: cannot edit tiddler when UploadPlugin by Bidix is installed. Thanks to José Luis González Castro for reporting the bug.
* v1.0.5 (2006-03-02)
** Bugfix: Example with multi-line table cells does not work in IE6. Thanks to Paulo Soares for reporting the bug.
* v1.0.4 (2006-02-28)
** Bugfix: Shadow tiddlers cannot be edited (in TW 2.0.6). Thanks to Torsten Vanek for reporting the bug.
* v1.0.3 (2006-02-26)
** Adapt code to newly introduced Tiddler.prototype.isReadOnly() function (in TW 2.0.6). Thanks to Paulo Soares for reporting the problem.
* v1.0.2 (2006-02-05)
** Also allow other macros than the "tiddler" macro use the "." in the part reference (to refer to "this" tiddler)
* v1.0.1 (2006-01-27)
** Added Table of Content for plugin documentation. Thanks to RichCarrillo for suggesting.
** Bugfix: newReminder plugin does not work when PartTiddler is installed. Thanks to PauloSoares for reporting.
* v1.0.0 (2006-01-25)
** initial version
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!Code<html><a name="Code"/></html>
<html><sub><a href="javascript:;" onclick="window.scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
***/
//{{{
//============================================================================
// PartTiddlerPlugin
// Ensure that the PartTiddler Plugin is only installed once.
//
if (!version.extensions.PartTiddlerPlugin) {
version.extensions.PartTiddlerPlugin = {
major: 1, minor: 0, revision: 8,
date: new Date(2007, 5, 16),
type: 'plugin',
source: "http://tiddlywiki.abego-software.de/#PartTiddlerPlugin"
};
if (!window.abego) window.abego = {};
if (version.major < 2) alertAndThrow("PartTiddlerPlugin requires TiddlyWiki 2.0 or newer.");
//============================================================================
// Common Helpers
// Looks for the next newline, starting at the index-th char of text.
//
// If there are only whitespaces between index and the newline
// the index behind the newline is returned,
// otherwise (or when no newline is found) index is returned.
//
var skipEmptyEndOfLine = function(text, index) {
var re = /(\n|[^\s])/g;
re.lastIndex = index;
var result = re.exec(text);
return (result && text.charAt(result.index) == '\n')
? result.index+1
: index;
}
//============================================================================
// Constants
var partEndOrStartTagRE = /(<\/part>)|(<part(?:\s+)((?:[^>])+)>)/mg;
var partEndTagREString = "<\\/part>";
var partEndTagString = "</part>";
//============================================================================
// Plugin Specific Helpers
// Parse the parameters inside a <part ...> tag and return the result.
//
// @return [may be null] {partName: ..., isHidden: ...}
//
var parseStartTagParams = function(paramText) {
var params = paramText.readMacroParams();
if (params.length == 0 || params[0].length == 0) return null;
var name = params[0];
var paramsIndex = 1;
var hidden = false;
if (paramsIndex < params.length) {
hidden = params[paramsIndex] == "hidden";
paramsIndex++;
}
return {
partName: name,
isHidden: hidden
};
}
// Returns the match to the next (end or start) part tag in the text,
// starting the search at startIndex.
//
// When no such tag is found null is returned, otherwise a "Match" is returned:
// [0]: full match
// [1]: matched "end" tag (or null when no end tag match)
// [2]: matched "start" tag (or null when no start tag match)
// [3]: content of start tag (or null if no start tag match)
//
var findNextPartEndOrStartTagMatch = function(text, startIndex) {
var re = new RegExp(partEndOrStartTagRE);
re.lastIndex = startIndex;
var match = re.exec(text);
return match;
}
//============================================================================
// Formatter
// Process the <part ...> ... </part> starting at (w.source, w.matchStart) for formatting.
//
// @return true if a complete part section (including the end tag) could be processed, false otherwise.
//
var handlePartSection = function(w) {
var tagMatch = findNextPartEndOrStartTagMatch(w.source, w.matchStart);
if (!tagMatch) return false;
if (tagMatch.index != w.matchStart || !tagMatch[2]) return false;
// Parse the start tag parameters
var arguments = parseStartTagParams(tagMatch[3]);
if (!arguments) return false;
// Continue processing
var startTagEndIndex = skipEmptyEndOfLine(w.source, tagMatch.index + tagMatch[0].length);
var endMatch = findNextPartEndOrStartTagMatch(w.source, startTagEndIndex);
if (endMatch && endMatch[1]) {
if (!arguments.isHidden) {
w.nextMatch = startTagEndIndex;
w.subWikify(w.output,partEndTagREString);
}
w.nextMatch = skipEmptyEndOfLine(w.source, endMatch.index + endMatch[0].length);
return true;
}
return false;
}
config.formatters.push( {
name: "part",
match: "<part\\s+[^>]+>",
handler: function(w) {
if (!handlePartSection(w)) {
w.outputText(w.output,w.matchStart,w.matchStart+w.matchLength);
}
}
} )
//============================================================================
// Extend "fetchTiddler" functionality to also recognize "part"s of tiddlers
// as tiddlers.
var currentParent = null; // used for the "." parent (e.g. in the "tiddler" macro)
// Return the match to the first <part ...> tag of the text that has the
// requrest partName.
//
// @return [may be null]
//
var findPartStartTagByName = function(text, partName) {
var i = 0;
while (true) {
var tagMatch = findNextPartEndOrStartTagMatch(text, i);
if (!tagMatch) return null;
if (tagMatch[2]) {
// Is start tag
// Check the name
var arguments = parseStartTagParams(tagMatch[3]);
if (arguments && arguments.partName == partName) {
return tagMatch;
}
}
i = tagMatch.index+tagMatch[0].length;
}
}
// Return the part "partName" of the given parentTiddler as a "readOnly" Tiddler
// object, using fullName as the Tiddler's title.
//
// All remaining properties of the new Tiddler (tags etc.) are inherited from
// the parentTiddler.
//
// @return [may be null]
//
var getPart = function(parentTiddler, partName, fullName) {
var text = parentTiddler.text;
var startTag = findPartStartTagByName(text, partName);
if (!startTag) return null;
var endIndexOfStartTag = skipEmptyEndOfLine(text, startTag.index+startTag[0].length);
var indexOfEndTag = text.indexOf(partEndTagString, endIndexOfStartTag);
if (indexOfEndTag >= 0) {
var partTiddlerText = text.substring(endIndexOfStartTag,indexOfEndTag);
var partTiddler = new Tiddler();
partTiddler.set(
fullName,
partTiddlerText,
parentTiddler.modifier,
parentTiddler.modified,
parentTiddler.tags,
parentTiddler.created);
partTiddler.abegoIsPartTiddler = true;
return partTiddler;
}
return null;
}
// Hijack the store.fetchTiddler to recognize the "part" addresses.
//
var hijackFetchTiddler = function() {
var oldFetchTiddler = store.fetchTiddler ;
store.fetchTiddler = function(title) {
var result = oldFetchTiddler.apply(this, arguments);
if (!result && title) {
var i = title.lastIndexOf('/');
if (i > 0) {
var parentName = title.substring(0, i);
var partName = title.substring(i+1);
var parent = (parentName == ".")
? store.resolveTiddler(currentParent)
: oldFetchTiddler.apply(this, [parentName]);
if (parent) {
return getPart(parent, partName, parent.title+"/"+partName);
}
}
}
return result;
};
};
// for debugging the plugin is not loaded through the systemConfig mechanism but via a script tag.
// At that point in the "store" is not yet defined. In that case hijackFetchTiddler through the restart function.
// Otherwise hijack now.
if (!store) {
var oldRestartFunc = restart;
window.restart = function() {
hijackFetchTiddler();
oldRestartFunc.apply(this,arguments);
};
} else
hijackFetchTiddler();
// The user must not edit a readOnly/partTiddler
//
config.commands.editTiddler.oldIsReadOnlyFunction = Tiddler.prototype.isReadOnly;
Tiddler.prototype.isReadOnly = function() {
// Tiddler.isReadOnly was introduced with TW 2.0.6.
// For older version we explicitly check the global readOnly flag
if (config.commands.editTiddler.oldIsReadOnlyFunction) {
if (config.commands.editTiddler.oldIsReadOnlyFunction.apply(this, arguments)) return true;
} else {
if (readOnly) return true;
}
return this.abegoIsPartTiddler;
}
config.commands.editTiddler.handler = function(event,src,title)
{
var t = store.getTiddler(title);
// Edit the tiddler if it either is not a tiddler (but a shadowTiddler)
// or the tiddler is not readOnly
if(!t || !t.abegoIsPartTiddler)
{
clearMessage();
story.displayTiddler(null,title,DEFAULT_EDIT_TEMPLATE);
story.focusTiddler(title,"text");
return false;
}
}
// To allow the "./partName" syntax in macros we need to hijack
// the invokeMacro to define the "currentParent" while it is running.
//
var oldInvokeMacro = window.invokeMacro;
function myInvokeMacro(place,macro,params,wikifier,tiddler) {
var oldCurrentParent = currentParent;
if (tiddler) currentParent = tiddler;
try {
oldInvokeMacro.apply(this, arguments);
} finally {
currentParent = oldCurrentParent;
}
}
window.invokeMacro = myInvokeMacro;
// To correctly support the "./partName" syntax while refreshing we need to hijack
// the config.refreshers.tiddlers to define the "currentParent" while it is running.
//
(function() {
var oldTiddlerRefresher= config.refreshers.tiddler;
config.refreshers.tiddler = function(e,changeList) {
var oldCurrentParent = currentParent;
try {
currentParent = e.getAttribute("tiddler");
return oldTiddlerRefresher.apply(this,arguments);
} finally {
currentParent = oldCurrentParent;
}
};
})();
// Support "./partName" syntax inside <<tabs ...>> macro
(function() {
var extendRelativeNames = function(e, title) {
var nodes = e.getElementsByTagName("a");
for(var i=0; i<nodes.length; i++) {
var node = nodes[i];
var s = node.getAttribute("content");
if (s.indexOf("./") == 0)
node.setAttribute("content",title+s.substr(1));
}
};
var oldHandler = config.macros.tabs.handler;
config.macros.tabs.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
var result = oldHandler.apply(this,arguments);
if (tiddler)
extendRelativeNames(place, tiddler.title);
return result;
};
})();
// Scroll the anchor anchorName in the viewer of the given tiddler visible.
// When no tiddler is defined use the tiddler of the target given event is used.
window.scrollAnchorVisible = function(anchorName, tiddler, evt) {
var tiddlerElem = null;
if (tiddler) {
tiddlerElem = document.getElementById(story.idPrefix + tiddler);
}
if (!tiddlerElem && evt) {
var target = resolveTarget(evt);
tiddlerElem = story.findContainingTiddler(target);
}
if (!tiddlerElem) return;
var children = tiddlerElem.getElementsByTagName("a");
for (var i = 0; i < children.length; i++) {
var child = children[i];
var name = child.getAttribute("name");
if (name == anchorName) {
var y = findPosY(child);
window.scrollTo(0,y);
return;
}
}
}
} // of "install only once"
//}}}
/***
<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
!Licence and Copyright
Copyright (c) abego Software ~GmbH, 2006 ([[www.abego-software.de|http://www.abego-software.de]])
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this
list of conditions and the following disclaimer in the documentation and/or other
materials provided with the distribution.
Neither the name of abego Software nor the names of its contributors may be
used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.
<html><sub><a href="javascript:;" onclick="scrollAnchorVisible('Top',null, event)">[Top]</sub></a></html>
***/
<<search>><<closeAll>><<permaview>><html><!-- SiteSearch Google -->
<form method="get" action="http://www.google.es/custom" target="google_window">
<table border="0" bgcolor="#ffffff">
<tr><td nowrap="nowrap" valign="top" align="left" height="0">
<a href="http://www.google.com/">
<img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a>
<br/>
<input type="hidden" name="domains" value="pacoriviere.cat"></input>
<label for="sbi" style="display: none">Entreu les paraules de la cerca.</label>
<input type="text" name="q" size="16" maxlength="255" value="" id="sbi"></input>
</td></tr>
<tr>
<td nowrap="nowrap">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" checked id="ss0"></input>
<label for="ss0" title="Cerca a la web"><font size="-2" color="#oooooo">web</font></label></td>
<td>
<input type="radio" name="sitesearch" value="pacoriviere.cat" id="ss1"></input>
<label for="ss1" title="Cerca a pacoriviere.cat"><font size="-2" color="#oooooo">pacoriviere.cat</font></label></td>
</tr>
</table>
<label for="sbb" style="display: none">Envieu la cerca</label>
<input type="submit" name="sa" value="cerca" id="sbb"></input>
<input type="hidden" name="client" value="pub-0143440029578644"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="channel" value="9483525044"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="flav" value="0002"></input>
<input type="hidden" name="sig" value="zYucFTYAmd7LJPdd"></input>
<input type="hidden" name="cof" value="GALT:#9A2C06;GL:1;DIV:#33FFFF;VLC:D03500;AH:center;BGC:ffffff;LBGC:CCE5F9;ALC:440066;LC:440066;T:336699;GFNT:223472;GIMP:223472;LH:50;LW:44;L:http://pacoriviere.cat/imatges/FR2006_100x113.png;S:http://pacoriviere.cat/;FORID:1"></input>
<input type="hidden" name="hl" value="es"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google --></html><<newTiddler>><<newJournal '0DD MMM YYYY' 'diari'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel opciones 'Canvia les opcions avançades del TiddlyWiki'>>
[[GRATIS! Crea tu propia página Web Móvil en unos minutos|http://websites.mobisitegalore.com/?u=d_16054657]]
!!Temas
<<tagCloud auto excludeLists excludeSearch systemConfig>><<tabs txtMainTab Fecha 'Tiddlers cronológicamente' TabTimeline Título 'Tiddlers por título' TabAll 'Etiquetas' 'Tiddlers que estén etiquetados' TabTags 'Más' 'Más opciones' TabMore>>
[img[PalmCAT|imatges/palmcat_180x70.png][http://palmcat.cat]]
[img[Mòbils|smscatala.gif][http://www.smscatala.com/?rel=palm]]
[img[Usuario Linux #415568|415568.png][http://counter.li.org/reports/trends.php]]
[img[Algunos Derechos Reservados|somerights20.png][http://creativecommons.org/licenses/by/2.5/deed.ca]]
^^sobre los contenidos
<html>
<a href="http://www.statcounter.com/" target="_blank"><img src="http://c15.statcounter.com/counter.php?sc_project=1572935&java=0&security=41dad1d8&invisible=0" alt="counter stats" border="0"></a>
<!-- End of StatCounter Code --><a href="http://my.statcounter.com/project/standard/stats.php?project_id=1572935&guest=1">Estadísticas</a></html>^^
[[Abre tu propia tienda|http://www.cafepress.com/cp/info/storeref.aspx?refby=pacoriviere]]
[[Donaciones|index.html#Donacions]]
[[admin|GettingStarted]]
[img[Valid CSS!|http://jigsaw.w3.org/css-validator/images/vcss][http://jigsaw.w3.org/css-validator/validator?uri=http://pacoriviere.googlepages.com/es.html]]
^^TiddlyWiki versión <<version>>^^
O [[El mundo en clave libre]] - [[Paco Rivière|PacoRivière]]
http://pacoriviere.googlepages.com/es.html
//{{{
config.options.txtUserName = "TuNombre";
config.macros.allTags.noTags = "No hay artículos con etiquetas";
config.macros.allTags.tooltip = "Abrir artículos con la etiqueta ";
config.macros.closeAll.label = "cerrar todos";
config.macros.closeAll.prompt = "Cerrar todos los artículos que están abiertos (pero no los que están siendo redactados)";
config.macros.list.all.prompt = "Todos los artículos en orden alfabético";
config.macros.list.missing.prompt = "Artículos que tienen enlaces a ellos pero no existen";
config.macros.list.orphans.prompt = "Artículos que no tienen enlaces de ningún otro artículo";
config.macros.list.shadowed.prompt = "Artículos ocultos con contenido por defecto";
config.macros.newJournal.label = "nuevo diario";
config.macros.newJournal.months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre","Diciembre"];
config.macros.newJournal.prompt = "Crear un nuevo artículo con la fecha y hora actual";
config.macros.newTiddler.label = "nuevo artículo";
config.macros.newTiddler.prompt = "Crear un nuevo artículo";
config.macros.newTiddler.title = "Nuevo Artículo";
config.macros.permaview.label = "enlace permanente";
config.macros.permaview.prompt = "Enlace a una URL que muestra todos los artículos que están abiertos";
config.macros.saveChanges.label = "guardar cambios";
config.macros.saveChanges.prompt = "Guardar todos los cambios a un archivo";
config.macros.search.label = "buscar";
config.macros.search.prompt = "buscar en este TiddlyWiki";
config.macros.search.successMsg = " artículos encontrados que tienen: ";
config.macros.search.failureMsg = "Ningún artículo encontrado que tuviera: ";
config.macros.timeline.dateFormat = "DD MMM YYYY";
config.macros.tagging.label = "etiquetado: ";
config.macros.tagging.labelNotTag = "no etiquetado";
config.macros.tagging.tooltip = "Lista de artículos etiquetados con '%0'";
config.macros.plugins.skippedText = "(Esta extensión no ha sido ejecutado porque fue añadido al inicio)";
config.macros.plugins.noPluginText = "No hay extensiones instaladas";
config.macros.plugins.confirmDeleteText = "Estás seguro de querer borrar estos artículos:\n\n%0";
config.macros.refreshDisplay.label = "actualizar";
config.macros.refreshDisplay.prompt = "Actualizar la vista de TiddlyWiki";
config.macros.importTiddlers.readOnlyWarning = "No puede importar artículos en un TiddlyWiki de solo lectura. Intenta abrir el TiddlyWiki desde el disco duro como file:// URL";
config.macros.importTiddlers.defaultPath = "http://www.tiddlywiki.com/index.html";
config.macros.importTiddlers.fetchLabel = "importar";
config.macros.importTiddlers.fetchPrompt = "Archivo a importar";
config.macros.importTiddlers.fetchError = "Hay problemas al importar el archivo";
config.macros.importTiddlers.confirmOverwriteText = "¿Estás seguro de querer sobrescribir estos artículos:\n\n%0";
config.macros.importTiddlers.wizardTitle = "Importar artículos desde otro archivo TiddlyWiki";
config.macros.importTiddlers.step1 = "Paso 1: Localizar el archivo TiddlyWiki";
config.macros.importTiddlers.step1prompt = "Introducir la URL o la ruta : ";
config.macros.importTiddlers.step1promptFile = "...abrir un archivo: ";
config.macros.importTiddlers.step1promptFeeds = "...o seleccionar un rss pre-definido: ";
config.macros.importTiddlers.step1feedPrompt = "Elegir...";
config.macros.importTiddlers.step2 = "Paso 2: Cargando el archivo TiddlyWiki";
config.macros.importTiddlers.step2Text = "Por favor espere mientras se carga el archivo desde: %0";
config.macros.importTiddlers.step3 = "Paso 3: Elegir los artículos a importar";
config.macros.importTiddlers.step4 = "%0 artículo(s) importados";
config.macros.importTiddlers.step5 = "Hecho";
config.messages.backupFailed = "Falló al guardar el archivo de respaldo";
config.messages.backupSaved = "Archivo de respaldo guardado";
config.messages.cantSaveError = "No es posible guardar cambios con este navegador. Usa FireFox si puedes";
config.messages.customConfigError = "Se han producido problemas al cargar las extensiones. Ver pluginManager para más detalles";
config.messages.pluginError = "Error: %0";
config.messages.pluginDisabled = "No ejecutado, deshabilitado via 'sytemConfigDisable'";
config.messages.pluginForced = "Ejecutado, forzado via 'systemConfigForce' ";
config.messages.pluginVersionError = "No ejecutado porque este plugin necesita una nueva versión de TiddlyWiki";
config.messages.nothingSelected = "No hay nada seleccionado. Debe seleccionar primero una o más opciones";
config.messages.emptyFailed = "Falló al guardar una plantilla vacía";
config.messages.emptySaved = "Plantilla vacía guardada";
config.messages.tiddlerLinkTooltip = "%0 - %1, %2";
config.messages.externalLinkTooltip = "Enlace externo a %0 ";
config.messages.invalidFileError = "El archivo original no parece ser un TiddlyWiki: ";
config.messages.macroError = "Error ejecutando macro ";
config.messages.mainFailed = "Falló al guardar el archivo principal de TiddlyWiki. Tus cambios no han sido guardados";
config.messages.mainSaved = "Archivo principal de TiddlyWiki se guardó ";
config.messages.noTags = "No hay artículos etiquetados";
config.messages.notFileUrlError = "Necesitas guardar este TiddlyWiki a un archivo antes de que puedas guardar cambios";
config.messages.overwriteWarning = "Un artículo llamado '%0' ya existe. Presiona OK para sobreescribirlo";
config.messages.rssFailed = "Falló al guardar archivo RSS";
config.messages.rssSaved = "Archivo RSS guardado";
config.messages.savedSnapshotError = "Parece que este TiddlyWiki ha sido guardado incorrectamente. Por favor vea el sitio TiddlyWiki para más detalles";
config.messages.subtitleUnknown = "(desconocido )";
config.messages.undefinedTiddlerToolTip = "'%0' aún no existe";
config.messages.unsavedChangesWarning = "¡ADVERTENCIA! Hay cambios que aún no han sido guardados\n\nPresiona OK para guardarlos\nPresiona CANCEL para perder los cambios";
config.messages.dates.months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre","Diciembre"];
config.messages.dates.days = ["Domingo", "Lunes","Martes", "Miércoles", "Jueves", "Viernes", "Sábado"];
config.messages.dates.shortMonths = ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"];
config.messages.dates.shortDays = ["Dom", "Lun", "Mar", "Mie", "Jue", "Vie", "Sab"];
config.messages.shadowedTiddlerToolTip = "El artículo '%0' no existe aún, pero tiene un valor oculto predefinido";
config.messages.messageClose.text = "cerrar";
config.messages.messageClose.tooltip = "cerrar el panel de mensajes";
config.shadowTiddlers.OptionsPanel = "'Estas opciones para personalizar TiddlyWiki están guardadas en tu navegador'\n\n'Tu nombre de usuario para firmar tus textos. Escríbelo como una PalabraWiki (por ej., JuanBloggs)'\n<<option txtUserName>>\n<<option chkSaveBackups>> GuardaRespaldos\n<<option chkAutoSave>> AutoGuardar\n<<option chkGenerateAnRssFeed>> GenerarUnArchivoRSS\n<<option chkRegExpSearch>> BuscaRegExp\n<<option chkCaseSensitiveSearch>> BuscaSensitivoMayúscula\n<<option chkAnimate>> ActivarAnimaciones\n\n Vea las OpcionesAvanzadas\nPluginManager\nImportTiddlers";
config.shadowTiddlers.SideBarOptions = "<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal 'DD MMM YYYY'>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel 'opciones »' 'Cambiar opciones avanzadas de TiddlyWiki'>>";
config.shadowTiddlers.SideBarTabs = "<<tabs txtMainTab Fecha 'Tiddlers cronológicamente' TabTimeline Título 'Tiddlers por título' TabAll 'Etiquetas' 'Tiddlers que estén etiquetados' TabTags 'Más' 'Más opciones' TabMore>>";
config.shadowTiddlers.TabMore = "<<tabs txtMoreTab 'Perdidos' 'Artículos que no tienen contenido' TabMoreMissing 'Huerfanos' 'Artículos no enlazados' TabMoreOrphans 'Ocultos' 'Artículos ocultos con valores por defecto' TabMoreShadowed>>";
config.shadowTiddlers.OpcionesAvanzadas = "<<option chkOpenInNewWindow>> Abre Enlaces En Ventana Nueva\n<<option chkSaveEmptyTemplate>> Crea Plantilla Nueva (cuando guarda se generará una plantilla nueva) \n<<option chkToggleLinks>> Hacer clic en enlaces a artículos que ya están abiertos, los cierran.\n^^(desactívalo con Control u otra tecla modificadora)^^\n<<option chkHttpReadOnly>> Solo lectura cuando se abre desde web\n<<option chkForceMinorUpdate>> Trata las ediciones de un artículo existente como cambios menores y preserva la fecha y tiempo\n^^(desactívalo com la tecla Shift al hacer clik con el boton 'guardar' o por usando las teclas Ctrl-Shift-Enter^^";
config.views.editor.defaultText = "Escribe el texto para '%0'.";
config.views.editor.tagChooser.popupNone = "No hay etiquetas definidas";
config.views.editor.tagChooser.tagTooltip = "Agregar la etiqueta ";
config.views.editor.tagChooser.text = "etiquetas";
config.views.editor.tagChooser.tooltip = "Escoje etiquetas existente para añadir a este artículo";
config.views.editor.tagPrompt = "Escribe etiquetas separadas con espacios, [[usa doble paréntesis cuadrado]] si es necesario, o escoje una existente ";
config.views.wikified.tag.labelNoTags = "sin etiquetas";
config.views.wikified.tag.labelTags = "etiquetas: ";
config.views.wikified.tag.openTag = "Abrir etiqueta '%0'";
config.views.wikified.tag.tooltip = "Mostar artículos etiquetados con '%0'";
config.views.wikified.tag.openAllText = "Abrir todos";
config.views.wikified.tag.openAllTooltip = "Abrir todos estos artículos";
config.views.wikified.tag.popupNone = "No hay otros artículos etiquetados con '%0'";
config.views.wikified.defaultText = "El artículo '%0' no existe aún. Doble clic para crearlo";
config.views.wikified.defaultModifier = "(perdido)";
config.views.wikified.shadowModifier = "(artículo oculto incluido)";
config.views.wikified.createdPrompt = "creado";
config.commands.editTiddler.text = "editar";
config.commands.editTiddler.tooltip = "Editar este artículo"
config.commands.editTiddler.readonlyText = "ver";
config.commands.editTiddler.readonlyText = "Ver el fuente de este artículo";
config.commands.closeTiddler.text = "cerrar";
config.commands.closeTiddler.tooltip = "Cerrar este artículo";
config.commands.closeOthers.text = "cerrar otros";
config.commands.closeOthers.tooltip = "Cerrar todos los otros artículos";
config.commands.saveTiddler.text = "guardar";
config.commands.saveTiddler.tooltip = "Guardar este artículo";
config.commands.cancelTiddler.text = "cancelar";
config.commands.cancelTiddler.tooltip = "Deshacer cambios de este artículo";
config.commands.cancelTiddler.warning = "¿Estás seguro de cancelar los cambios de '%0' ?";
config.commands.cancelTiddler.readOnlyText = "hecho";
config.commands.cancelTiddler.readOnlyTooltip = "Ver este artículo nomalmente";
config.commands.deleteTiddler.text = "borrar";
config.commands.deleteTiddler.tooltip = "Borrar este artículo";
config.commands.deleteTiddler.warning = "¿Estás seguro de querer borrar '%0' ?";
config.commands.permalink.text = "enlace permanente";
config.commands.permalink.tooltip = "Enlace a este artículo";
config.commands.references.text = "referencias";
config.commands.references.tooltip = "Mostrar artículos que enlacen a éste";
config.commands.references.popupNone = "No hay referencias";
config.commands.jump.text = "saltar";
config.commands.jump.tooltip = "Saltar a otro artículo abierto";
//}}}
/***
''Inspired by [[TiddlyPom|http://www.warwick.ac.uk/~tuspam/tiddlypom.html]]''
|Name|SplashScreenPlugin|
|Created by|SaqImtiaz|
|Location|http://lewcid.googlepages.com/lewcid.html#SplashScreenPlugin|
|Version|0.21 |
|Requires|~TW2.08+|
!Description:
Provides a simple splash screen that is visible while the TW is loading.
!Installation
Copy the source text of this tiddler to your TW in a new tiddler, tag it with systemConfig and save and reload. The SplashScreen will now be installed and will be visible the next time you reload your TW.
!Customizing
Once the SplashScreen has been installed and you have reloaded your TW, the splash screen html will be present in the MarkupPreHead tiddler. You can edit it and customize to your needs.
!History
* 20-07-06 : version 0.21, modified to hide contentWrapper while SplashScreen is displayed.
* 26-06-06 : version 0.2, first release
!Code
***/
//{{{
var old_lewcid_splash_restart=restart;
restart = function()
{ if (document.getElementById("SplashScreen"))
document.getElementById("SplashScreen").style.display = "none";
if (document.getElementById("contentWrapper"))
document.getElementById("contentWrapper").style.display = "block";
old_lewcid_splash_restart();
if (splashScreenInstall)
{if(config.options.chkAutoSave)
{saveChanges();}
displayMessage("TW SplashScreen has been installed, please save and refresh your TW.");
}
}
var oldText = store.getTiddlerText("MarkupPreHead");
if (oldText.indexOf("SplashScreen")==-1)
{var siteTitle = store.getTiddlerText("SiteTitle");
var splasher='\n\n<style type="text/css">#contentWrapper {display:none;}</style><div id="SplashScreen" style="border: 3px solid #ccc; display: block; text-align: center; width: 320px; margin: 100px auto; padding: 50px; color:#000; font-size: 28px; font-family:Tahoma; background-color:#eee;"><b>'+siteTitle +'</b> is loading<blink> ...</blink><br><br><span style="font-size: 14px; color:red;">Requires Javascript.</span></div>';
if (! store.tiddlerExists("MarkupPreHead"))
{var myTiddler = store.createTiddler("MarkupPreHead");}
else
{var myTiddler = store.getTiddler("MarkupPreHead");}
myTiddler.set(myTiddler.title,oldText+splasher,config.options.txtUserName,null,null);
store.setDirty(true);
var splashScreenInstall = true;
}
//}}}
/***
StyleSheet General Rules
***/
/*{{{*/
a,
.button{
color: #06c;
text-decoration: none;
background: transparent;
}
a:hover,
.button:hover{
background: transparent;
text-decoration: none;
color: #147;
}
body {
font-size: 15px; /* Resets 1em to 10px */
font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
background-color: #d5d6d7;
color: #666;
margin: 0 auto;
}
#contentWrapper{
background: transparent url("kubrickbg.jpg") repeat-y 0px 0px;
border: 0;
margin: 0 auto;
width: 760px;
}
/*}}}*/
/***
Header Rules
***/
/*{{{*/
.titleLine{
margin: 80px auto 0em;
padding: 0;
width: 745px;
text-align: center;
color: #fff;
}
.siteTitle{
font-size: 30px;
}
.siteTitle a, .siteSubtitle a{
color: #fff;
}
.siteTitle a:hover, .siteSubtitle a:hover{
text-decoration: none;
font-weight: normal;
}
.siteSubtitle{
display: block;
margin: 58px 0 0 0;
font-size: 15px;
}
.header {
background: url("pacoheader.jpg") no-repeat bottom center;
margin: 0;
padding: 1px;
height: 198px;
width: 758px;
}
/*}}}*/
/***
Footer Styles
***/
/*{{{*/
#contentFooter {
text-align: center;
clear: both;
background: url("kubrickfooter.jpg") no-repeat bottom;
border: none;
padding: 2em;
height: 3em;
}
/*}}}*/
/***
Sidebar styles
***/
/*{{{*/
#sidebar{
margin: 1em 2em 0 0;
position: static;
float: right;
}
#sidebar a,
#sidebar a:hover{
border: 0;
}
#sidebar h1{
font-size: 1.4em;
font-weight: bold;
margin: 0;
background: transparent;
color: #000;
}
#sidebar ul{
padding: 0;
margin: 0 0 0 1em;
}
#sidebar li{
list-style: none;
}
#sidebar li:before{
color: #000;
content: "s00BB s0020";
}
#sidebar, #mainMenu, #sideBarOptions{
width: 200px;
text-align: left;
}
#mainMenu{
position: static;
}
/*}}}*/
/***
Sidebar search styles
***/
/*{{{*/
#sidebarSearch{
margin: 20px 0 0 10px;
width: 155px;
}
#sidebarSearch input{
font-size: 15px;
width: 120px;
}
#sidebarSearch .button{
margin-top: 1px;
}
/*}}}*/
/***
Sidebar option styles
***/
/*{{{*/
#sidebarOptions{
margin-left: .75em;
}
#sidebarOptions h1{
font-size: 1.3em;
}
#sidebarOptions a{
display: block; // was inline
border: 0;
}
#sidebarOptions .sliderPanel{
background-color: transparent;
font-size: 1em;
margin: 0;
}
#sidebarOptions .sliderPanel a:before,
#sidebarTabs li:before{
content: "";
}
/*}}}*/
/***
Sidebar tab styles
***/
/*{{{*/
#sidebarTabs .tab,
#sidebarTabs .tab:hover{
border: 1px solid #ccc;
text-decoration: none;
}
#sidebarTabs .tabSelected{
background: #ccc;
color: #333;
}
#sidebarTabs .tabUnselected{
background: #e6e6e6;
color: #333;
}
#sidebarTabs .tabContents{
background: #ccc;
color: #333;
border: 1px solid #ccc;
width: 95%;
}
#sidebarTabs .tabContents a{
color: #06c;
}
#sidebarTabs .tabContents a:hover{
color: #147;
}
#sidebarTabs a.tabSelected:hover{
cursor: default;
}
#sidebarTabs .txtMoreTab .tab{
border: 1px solid #aaa;
color: #333;
}
#sidebarTabs .txtMoreTab .tabSelected{
background: #aaa;
color: #333;
}
#sidebarTabs .txtMoreTab .tabSelected:hover{
background: #aaa;
color: #333
}
#sidebarTabs .txtMoreTab .tabUnselected{
background: #ccc;
color: #333;
}
#contentWrapper #sidebar .txtMoreTab .tabUnselected:hover,#contentWrapper #displayArea .txtMoreTab .tabUnselected:hover{
color: #333;
}
#contentWrapper .txtMoreTab .tabContents{
background: #aaa;
color: #333;
border: 1px solid #aaa;
}
/*}}}*/
/***
Message area styles
***/
/*{{{*/
#messageArea {
background-color: #eee;
border: 1px solid #ccc;
color: #bbb;
margin: 0 1em;
font-size: .8em;
}
#messageArea a:link{
color: #aaa;
}
#messageArea a:hover{
color: #06c;
}
#messageArea .messageToolbar .button{
border: 1px solid #ccc;
color: #aaa;
text-decoration: none;
}
#messageArea .messageToolbar .button:hover{
border: 1px solid #777;
color: #777;
}
/*}}}*/
/***
Popup styles
***/
/*{{{*/
#popup{
padding: 0;
background: #eee;
border: 1px solid #ccc;
color: #333;
}
#popup a{
color: #06c;
font-weight: normal;
}
#popup a:hover{
color: #fff;
background: #aaa;
text-decoration: none;
}
/*}}}*/
/***
Tiddler display styles
***/
/*{{{*/
#displayArea{
margin: 10px 245px 1em 30px;
text-align: left;
font-size: 15px;
color: #000;
}
h1, h2, h3, h4, h5, .title{
font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
color: #333;
padding: 0;
}
.viewer h1,.viewer h2,.viewer h3,.viewer h4,.viewer h5,.viewer h6{
background: transparent;
border-bottom: 1px dotted #ccc;
}
.title{
font-size: 20px;
}
.subtitle{
color: #999;
font-size: 12px;
}
.toolbar{
font-size: 11px;
}
.toolbar a:link,.toolbar a:visited{
background: #e6e6e6;
border: 1px solid #ccc;
color: #aaa;
padding: 1px 3px;
margin: 0 .5em 0 0;
}
.toolbar a.button:hover{
background: #eee;
border-color: #ddd;
color: #ccc;
text-decoration: none;
}
.viewer a.tiddlyLinkNonExisting:link{
color: #b85b5a;
font-style: normal;
}
.viewer a.tiddlyLinkNonExisting:hover{
text-decoration: none;
}
.viewer a.tiddlyLinkExisting:link,#displayArea .viewer a.externalLink{
font-weight: normal;
color: #06c;
}
.viewer a.tiddlyLinkExisting:hover,.viewer a.externalLink:hover{
color: #147;
text-decoration: none;
}
.viewer {
font-size: 15px;
line-height: 160%;
padding-top: 0.5em;
}
.viewer code {
font-size: 12px;
}
.viewer .button{
font-size: 15px;
}
.editor {
font-size: 15px;
color: #ooo;
line-height: 160%;
}
.editor input, .editor textarea {
display: block;
width: 100%;
font: inherit;
}
.footer, .footer a.button,.editorFooter, .footer a.button{
color: #aaa;
}
.selectedTiddler .footer,.selectedTiddler .footer a{
color: #777;
}
.selectedTiddler .footer a.button,.selectedTiddler .editorFooter a.button{
color: #06c;
}
.footer a.button:hover,.editorFooter a.button:hover{
color: #147;
background: transparent;
}
.tagClear{
clear: none;
}
/*}}}*/
[img[TWLinuxMagazine|http://farm3.static.flickr.com/2062/2362720649_45d18f9b2f_s.jpg]]
Hace unos meses [[Linux Magazine|http://www.linux-magazine.es/]] [[publicó un artículo|http://www.linux-magazine.es/issue/26/]] sobre TiddlyWiki que me había pasado por alto. Dice así:
''¿Qué es TiddlyWiki?''
//A veces te cruzas con un programa de software que es tan simple y útil que, sencillamente, no puedes imaginarte cómo te las has apañado sin él... TiddlyWiki es una de esas aplicaciones. A primera vista, parece un wikiconvencional, y se comporta como tal; pero si profundizas un poco, descubrirás que es una aplicación más que ingeniosa.//
[[PDF, 2810 kB|http://www.linux-magazine.es/issue/26/024-027_TiddlyWikiLM26.crop.pdf]]
<!--{{{-->
<div class='toolbar' macro='toolbar bookmarks closeTiddler closeOthers +editTiddler permalink references jump'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date [[DD MMM YYYY]]'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date [[DD MMM YYYY]]'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer'> <span macro='view text wikified'></span> <span macro='navigation "" "" plugin'></span></div>
<div class='tagClear'></div>
<!--}}}-->
version.extensions.tagCloud = {major: 1, minor: 0 , revision: 1, date: new Date(2005,8,16)};
//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
config.macros.tagCloud = {
noTags: "No tag cloud created because there are no tags.",
tooltip: "%1 tiddlers amb l'etiqueta '%0'"
};
config.macros.tagCloud.handler = function(place,macroName,params) {
var tagCloudWrapper = createTiddlyElement(place,"div",null,"tagCloud",null);
var tags = store.getTags();
for (t=0; t<tags.length; t++) {
for (p=0;p<params.length; p++) if (tags[t][0] == params[p]) tags[t][0] = "";
}
if(tags.length == 0)
createTiddlyElement(tagCloudWrapper,"span",null,null,this.noTags);
//Findout the maximum number of tags
var mostTags = 0;
for (t=0; t<tags.length; t++) if (tags[t][0].length > 0){
if (tags[t][1] > mostTags) mostTags = tags[t][1];
}
//divide the mostTags into 4 segments for the 4 different tagCloud sizes
var tagSegment = mostTags / 4;
for (t=0; t<tags.length; t++) if (tags[t][0].length > 0){
var tagCloudElement = createTiddlyElement(tagCloudWrapper,"span",null,null,null);
tagCloudWrapper.appendChild(document.createTextNode(" "));
var theTag = createTiddlyButton(tagCloudElement,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud" + (Math.round(tags[t][1]/tagSegment)+1));
theTag.setAttribute("tag",tags[t][0]);
}
};
setStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 1.2em;}.tagCloud2{font-size: 1.4em;}.tagCloud3{font-size: 1.6em;}.tagCloud4{font-size: 1.8em;}.tagCloud5{font-size: 1.8em;font-weight: bold;}","tagCloudsStyles");
<html><iframe src="http://dotsub.com/api/player.php?filmid=444&filminstance=446&language=es" frameborder="0" width="480" height="392"></iframe></html>