Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
[img[images/jpg_c/a3key.jpg]]
[[Nach Patagonien]]
[[Barmbek]]
[[Bredenesch]]
[[A3 Key]]
[[Neon]]
[[Leandlei]]
[[Lärchen]]
[[Westenrinde]]
[[Silky Colors]]
[[Bushaltestelle 14]]
[[EuroCenter]]
[[Rötz 2001-2002]] – Diaschau 21 Bilder
[[Incekum 2004]] – Diaschau 10 Bilder
[[Abstrakta 2021]] – Full HD (1920x1080) 12 Bilder
Zum Anschauen ~Scroll-Balken benutzen,
zum Herunterladen mit der Maus auf den Schreibtisch ziehen. Eventuell als Bildschirmhintergrund?
----
2021 Heilige erkennt man daran, dass sie keinen Heiligenschein tragen.
2021 Korrupte Politiker erkennt man daran, dass sie einen Heiligenschein tragen.
2015 Der Geistige Horizont ist der Abstand zwischen Stirn und Brett.
1992 Da zappelt er nun, der Angler, der nach seinem eigenen Wurm geschnappt hat. War es Gier oder Dummheit?
1992 Auch gutmütige Hunde müssen manchmal schlafen. Wer sie beißt, weckt sie.
1971 Freiheit ist nur möglich, wenn man Eigentum abschafft.
1971 Weil die Beschaffenheit des Lebensraumes die Selektion vornimmt, ist es wahrscheinlich, dass sich kleine Lebensformen durchsetzen.
Die Zwerge kommen.
[[StarMud]] – Diaschau 15 Bilder: Ausgangsmaterial © by NASA – ~NGC2074 und W5 (Carina)
----
[img[images/jpg_c/barmbek.jpg]]
[[Anblick]]
[[Einblick]]
[[Ausblick]]
[[Durchblick]]
''Wüsthoff hat eine LP/CD/DS Musik gemacht, Titel: [to|digi]tal''
Sie erschien am 24. Juli 2020 bei [[Tapete Musik|https://shop.tapeterecords.com/]].
<html>
<body>
Hier zwei andere Stückchen aus dem Jahr 2006:
"So That"</br>
</br><audio controls>
<source src="/ton/so that.mp3" type="audio/mpeg">
Dein Browser kann leider kein Audio.
</audio> </br>
</br>
und ein 'phoenician waltz':
"Sweet Peas for Baal"</br>
</br><audio controls>
<source src="/ton/sweet peas for baal.mp3" type="audio/mpeg">
Dein Browser kann leider kein Audio.
</audio></br>
</br>Beide bisher unveröffentlicht.</br>
</body>
</html>
----
[img[images/jpg_c/bredenesch.jpg]]
[img[images/jpg_c/bushaltestelle14.jpg]]
Background: #eff
Foreground: #066
PrimaryPale: #cee
PrimaryLight: #4aa
PrimaryMid: #088
PrimaryDark: #055
PrimaryRed: #ef1f1d
SecondaryPale: #ffc
SecondaryLight: #fd7
SecondaryMid: #d94
SecondaryDark: #a30
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
PlainWhite: #fff
PlainBlack: #111
{{small{2006}}}
!!!Das Haus
Ich weiß nicht, mit wem ich dorthin gekommen war. Es war Sommer, die Flechten und Moose am alten Zaun waren grau eingetrocknet, es zeigten sich Risse im Holz. Von oben beugte sich der Holunder blütenschwer über den schmalen Weg zum Haus. Kinderfahrräder, Bälle, eine leere Sandkiste mit vergessenem Spielzeug rechts. Und links eine Schaukel. Keine Kinder. Es war still.
Eine Frau machte die alte geschnitzte Eichentür auf. Mittelalt die Frau, wahrscheinlich eine der Mütter. Von Irgendwem.
<<<
Ach, Du!
<<<
sagte sie zu meinem Begleiter.
<<<
Und wen bringst du mit?
<<<
Der sagte irgendetwas, was mit mir überhaupt nichts zu tun hatte. Wir gingen hinein. Es war kein kleines Haus. Man konnte weit blicken. Dort hinten war eine Tür zu einem Innenhof, nach links war ein breiter Flur mit vielen Türen, nach innen und auch nach außen und einige Türen, die wohl in unerforschliche Innerlichkeiten führten. Ein Mann war dort, älter als die Frau, elegant, aber unaufdringlich gekleidet, bequemes Feinstrickzeug.
<<<
Hallo, ihr beiden. Wie gehts? Kann ich euch was anbieten?
Äh, hm.
<<<
<<section Perplex
Auf dem langen Sofa, auf dem wir Platz nahmen, saßen links von uns einige Kids, ich glaube drei oder vier, kann auch ein Mädchen dabeigewesen sein. Ungefähr Sechsjährige mit Spielkonsolen unter den Daumen, und sie blickten ziemlich konzentriert auf einen Bildschirm. Manchmal kicherte eines von ihnen.
Die Sofalehne war niedriger als das Eingangsniveau, man saß wie in einer Arena.
Ich saß am rechten Ende des Sofas, mein Begleiter links von mir. Ich blickte nach rechts von mir, oberhalb meiner rechten Schulter war ein kleines Regal an der Wand, oder war es ein Mauerabsatz? Dort war neben anderem Schnickschnack, etwa einem Schlüsselbund, einer glasgeblasenen Miniatur 'Fahradfahrer' und ein paar Zetteln und Taschenbüchern ein Glas. Etwas größer als diese Schüttelschneeflockenteile aus Bayern oder dem Harz, klar, es gibt sie auch in Hamburg, mit dem Michel, aus Plastik. Nur waren da keine Schneeflocken drin. Sondern echte Steine, echte Pflanzen, und echte mehr oder weniger winzige Fische, die sich auch noch gegenseitig bejagten. (Das, was ich nun war, nennt man immer noch, glaube ich, perplex. Ich habe nicht im Duden nachgeschaut.) Mir blieb die Luft weg.
Der Mann brachte uns Zitronenwasser. Er sah ein wenig anders aus, als vorher, kann auch sein, dass es jemand anders war, sein Bruder etwa. Das Zitronenwasser war sehr erfrischend. Als mein Begleiter und ich uns anblickten: nein, wir waren uns nicht bekannt. Mir wurde jetzt klar, dass dies wohl nur ein Traum ist, und dass ich ungefähr gerade sechzehn oder siebzehn Jahre alt bin und nicht so alt wie heute.>>
<<section Theater
Nachdem wir ausgetrunken hatten, stürmte eine junge Menschenschar gestikulierend und manche laut schreiend durch eine breite Doppeltür in den Raum. Irgendwelche Fünfzehnjährigen von einer Schultheaterbühne. Alle verkleidet, ohne dass sie es selbst noch wahrgenommen hätten. Die meisten mit schwarzen Anzügen, aber einer mit grauem Anzug und mit Zylinder. Der hatte einen schwarzen Stock mit silbernen Enden, und den wirbelte er an einem Finger herum, so dass der Stock ein Geräusch machte. Selbst die Kids auf dem Sofa hatten vor Überraschung oder Staunen die Konsolen auf die Knie sinken lassen. Ich merkte, mein Begleiter war weg. Verschwunden. Eine Achzigjährige kam in aufrechter Haltung und brachte zwei Platten mit Canapes (Schnitten), die eine mit Fleisch- und Fischbelag, die andere mit Käse. Hier war ein wenig Sahnemeerrettich draufgespritzt, dort war ein Cornichon befestigt, auch etliche Maraschinokirschen sorgten für den farblich ausgeglichenen Klang.
Ich hatte es gerade auf ein Schwarzbrotachtel mit ein wenig Räucheraal und vier Kapern, sorgsam mit einem Tupfer Ketchup am Wegrollen gehindert, abgesehen, da kam der Maestro durch die Doppeltür herein.
Sein Gesicht kam mir irgendwie bekannt vor. Er war in irgendwelche gelb-, grau- und lilafarbene Narrenfetzen gekleidet und machte auslandende Bewegungen mit mindestens einem Arm und rezitierte Text dabei. Einen Satz nur, dann ein Kicherfinale. Ich hab den Monolog inzwischen vergessen. Die Fünfzehnjährigen blickten ihn schweigend an und futterten weiter. Als ich wieder auf die Platten guckte, war Aal nicht mehr vorhanden. Käse mochte ich nicht. Dem konnte man von außen nicht ansehen, wie er schmeckt. Ich stand auf, ging außen an allen Menschen und Möbeln vorbei zu der Doppeltür, drückte die Klinke und zog die Tür auf. Dahinter stand ein blondes Mädchen und guckte mich an, auf jeden Fall überrascht, wenn nicht sogar etwas ängstlich. Ich guckte so ähnlich zurück, war aber mehr an dem Raum interessiert, aus dem sie gerade kommen wollte. Schmales Stäbchenparkett, keine Bestuhlung, Bühne mit schwerem weinroten, zugezogenem Filzvorhang.
<<<
Wer bist du? Ich kenne dich nicht!
Ich bin neu.
Mein volles Beileid!
Danke. Wofür?
Weswegen bist du hier?
Ich weiß es nicht. Irgendwie so. Jemand hat mich mitgenommen. Und warum bist du hier?
Schwer erziehbar. Wie auch die anderen hier alle.
Wie meinst du das? Auch die Erzieher?
Klar. Mich haben sie erwischt, als ich in irgendeiner Bar in der Stadt Zigaretten ohne Steuerbanderole verkauft hatte.
Äh, wie kommst du mit fünfzehn in eine Bar?
Wenn ich mich zurecht mache?
<<<
flötete sie sehr kokett.
<<<
Das würde ich gern sehen!
<<<
Sie warf den Kopf zurück, richtete sich gerade auf dabei, ihre Gesichtshaut begann sich fraktal zu falten und hellgrau zu werden, ihre Haare steckten sich hoch und wurden dunkelgrau, so wie von jemand, der ganz früher schwarze Haare gehabt hatte, und sie sah plötzlich so aus wie die würdige Dame, die vorhin die Platten mit den Stullen auf den Tisch gestellt hatte. Ein Bisschen kleiner von der Körpergröße vielleicht. Das aber konnte auch daran liegen, dass ich vorhin auf der Couch gesessen hatte, und nun gerade stand. Irgendwie hatte sie mich überzeugt.
<<<
Hast du schon gegessen? Da ist noch was mit Käse.
Danke, morgen vielleicht. Was machst du bei der Truppe?
Script.
Aha. Was immer das ist.
Aber ich spiele auch. Im zweiten und dritten Akt. Die Frau Nolte. Ich muss jetzt nach oben. Sehen wir uns später?
Kann sein. Ich weiß nicht. Muss erstmal meinen Begleiter suchen. Wie heißt Du?
Ries.
Ries! Ein schöner Name. Es freut mich sehr.
<<<
und ich verneigte mich.
Ich nickte ihr zu und sie schlüpfte an mir vorbei und ging dabei nach links ab (in meiner eigenen Topografie. Da, wo ich hereingekommen war, lag immer noch hinter mir, in meinem Rücken).
<<<
Geh ins Refektorium, vielleicht gibt es da noch Schwarzbrot mit Räucheraal.
<<<
rief sie, bevor sie in einer anderen Tür verschwand. Woher wusste sie das?>>
<<section Suiseki
Im Hause war es nun ruhiger geworden. Draußen in der Sandkiste und auf der Schaukel spielte sich nun das Leben ab. Zwei- bis Fünfjährige, vielleicht acht oder zehn an der Zahl. Die wirkten überhaupt nicht schwer erziehbar. Die hatten einfach nur Spaß. Vielleicht hatte man sie früher nur nicht gelassen oder für eigene Zwecke missbraucht. Ich hatte plötzlich Mitleid und geriet in Zweifel.
Bin ich der, der heute ist und träumt, oder der, der damals sechzehn oder siebzehn war?
Ich ging trotzdem weiter im Haus herum. Sog das Schwererziehbare in die Nase, witterte ihm nach. Öffnete Türen, begab mich in fremde Räume. Stieg Treppen. Hinter dieser Tür sechs Doppelbetten, hinter jener acht, jeweils mehr oder weniger notdürftig für die kommende Nacht vorbereitet, na, wenigstens keine Etagenbetten. Schwer erziehbar war noch nicht in meiner Nase angekommen. In den Zimmern der Erzieher größere Unordnung. Aber auch hier: nichts roch faul.
Ich ging wieder nach unten, diesmal in den rechten Gang.
Und ich kam wieder in einen Raum, der ein Arenasofa hatte. Ich achtete auf Regale, Mauervorsprünge, wieder mehr auf Kleinteile und nicht auf Menschen, die waren hier gerade nicht. Und jetzt ein Stein, eine Elle hoch, ein Felsen, Suiseki in einer Schale mit Wasser. Adiantum microphylla als kleine Insel mehr im Hintergrund, und da: Barbosella handroi klammerte sich an den Fels, mit sechs bizarren Blüten. Mir stockte der Atem, und ich musste mich hinsetzen. Alles dreht sich. Und wieder dieselbe Frage. Wann bin ich hier? Bin ich sechzehn oder siebzehn oder so alt wie heute, wann ich träume? Und auf dem selben Mauervorsprung noch ein größeres Glas mit größerem Stein, größeren Pflanzen und größeren Fischen, die viel aggressiver sich gegenseitig jagten. Was hat das zu bedeuten?>>
<<section Abgang
Ich glaube, ich habe ihn jetzt wiedererkannt, den eleganten Herrn. Als er mich fragte:
<<<
Weißt du nicht, wie es hier raus geht?
<<<
hob sich seine gesamte Gesichtshaut ab, von hinten drahtgestützt, so, wie die Lippen bei Mädchen mit Zahnklammern, wenn sie zu lächeln versuchen.
In dem Moment bin ich wohl aufgewacht. Ich musste dringend pinkeln.>>
----
[[Mai]]
[[Das Haus]]
----
//{{{
//--
//-- TiddlyWiki German Translation - r9528
//-- Maintainer: Besim Karadeniz <besim(-at-)karadeniz(-dot-)de>
//-- Web: www.karadeniz.de/tiddlywiki/
//--
if (config.options.txtUserName == "YourName")
merge(config.options,{txtUserName: "IhrName"});
merge(config.tasks,{
save: {text: "speichern", tooltip: "Änderungen in dieses TiddlyWiki speichern", action: saveChanges},
sync: {text: "synchronisieren", tooltip: "Änderungen mit anderen TiddlyWiki-Dateien und Servern synchronisieren", content: '<<sync>>'},
importTask: {text: "importieren", tooltip: "Tiddler und Plugins aus anderen TiddlyWiki-Dateien und Servern importieren", content: '<<importTiddlers>>'},
tweak: {text: "optimieren", tooltip: "Erscheinungsbild und Reaktion des TiddlyWiki optimieren", content: '<<options>>'},
upgrade: {text: "upgraden", tooltip: "Upgraden des Kerncodes von TiddlyWiki", content: '<<upgrade>>'},
plugins: {text: "Plugins", tooltip: "Installierte Plugins verwalten", content: '<<plugins>>'}
});
// Optionen, die im Options-Panel oder/in Cookies eingestellt werden koennen
merge(config.optionsDesc,{
txtUserName: "Ihr Benutzername zum Unterzeichnen Ihrer Einträge",
chkRegExpSearch: "Reguläre Ausdrücke in der Suche aktivieren",
chkCaseSensitiveSearch: "Groß-/Kleinschreibung in der Suche aktivieren",
chkIncrementalSearch: "Inkrementelle Zeichen-für-Zeichen-Suche",
chkAnimate: "Animationen aktivieren",
chkSaveBackups: "Beim Speichern ein Backup erstellen",
chkAutoSave: "Automatisch speichern",
chkGenerateAnRssFeed: "RSS-Feed beim Speichern generieren",
chkSaveEmptyTemplate: "Leere Vorlage beim Speichern generieren",
chkOpenInNewWindow: "Externe Links in einem neuen Fenster öffnen",
chkToggleLinks: "Klick auf geöffnete Tiddler lässt diese schließen",
chkHttpReadOnly: "Bearbeitungsfunktionen ausblenden, wenn Zugriff via HTTP",
chkForceMinorUpdate: "Bearbeitungen als kleine Änderungen mit Beibehaltung von Datum und Zeit behandeln",
chkConfirmDelete: "Löschbestätigung vor dem Löschen von Tiddlern",
chkInsertTabs: "Benutzen Sie die Tabulatortaste um Tabulatorzeichen einzufügen anstelle jeweils zum nächsten Feld zu springen",
txtBackupFolder: "Verzeichnisname für Backup Dateien:",
txtMaxEditRows: "Maximale Zahl von Zeilen in einer Textbox eines Tiddlers:",
txtTheme: "Name des zu verwendenden Themes",
txtFileSystemCharSet: "Standard-Zeichensatz beim Speichern von Änderungen (nur Firefox/Mozilla)"});
merge(config.messages,{
customConfigError: "Beim Laden von Plugins sind Fehler aufgetreten. Siehe PluginManager für Details",
pluginError: "Fehler: %0",
pluginDisabled: "Nicht ausgeführt, da durch 'systemConfigDisable'-Tag deaktiviert",
pluginForced: "Ausgeführt, da durch 'systemConfigForce'-Tag erzwungen",
pluginVersionError: "Nicht ausgeführt, da dieses Plugin eine neuere Version von TiddlyWiki erfordert",
nothingSelected: "Nichts ausgewählt. Sie müssen zuerst ein oder mehrere Elemente auswählen",
savedSnapshotError: "Es scheint, dass dieses TiddlyWiki inkorrekt gespeichert wurde. Bitte besuchen Sie http://www.tiddlywiki.com/#Download für Details",
subtitleUnknown: "(unbekannt)",
undefinedTiddlerToolTip: "Der Tiddler '%0' existiert noch nicht",
shadowedTiddlerToolTip: "Der Tiddler '%0' existiert noch nicht, hat aber einen vordefinierten Schatteneintrag",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "Externer Link zu %0",
noTags: "Es gibt keine getaggten Tiddler",
notFileUrlError: "Sie müssen zunächst dieses TiddlyWiki in eine Datei speichern, bevor Änderungen gespeichert werden können",
cantSaveError: "Änderungen können nicht gespeichert werden. Mögliche Gründe:\n- Ihr Browser unterstützt das Abspeichern nicht (Firefox, Internet Explorer, Safari und Opera können dies mit richtiger Konfiguration)\n- Der Pfadname zu Ihrem TiddlyWiki enthält ungültige Zeichen\n- Die TiddlyWiki-HTML-Datei wurde verschoben oder umbenannt",
invalidFileError: "Die originale Datei '%0' scheint kein gültiges TiddlyWiki zu sein",
backupSaved: "Backup gespeichert",
backupFailed: "Fehler beim Speichern des Backup",
rssSaved: "RSS-Feed gespeichert",
rssFailed: "Fehler beim Speichern des RSS-Feed",
emptySaved: "Leere Vorlage gespeichert",
emptyFailed: "Fehler beim Speichern der leeren Vorlage",
mainSaved: "TiddlyWiki-Datei gespeichert",
mainFailed: "Fehler beim Speichern der TiddlyWiki-Datei. Ihre Änderungen wurden nicht gespeichert",
macroError: "Fehler im Makro <<\%0>>",
macroErrorDetails: "Fehler beim Ausführen von Makro <<\%0>>:\n%1",
missingMacro: "Kein entsprechendes Makro vorhanden",
overwriteWarning: "Ein Tiddler namens '%0' existiert bereits. Wählen Sie OK zum Überschreiben",
unsavedChangesWarning: "WARNUNG! Ungespeicherte Änderungen im TiddlyWiki vorhanden\n\nWählen Sie OK zum Speichern\nWählen Sie ABBRECHEN/CANCEL zum Verwerfen",
confirmExit: "--------------------------------\n\nUngespeicherte Änderungen im TiddlyWiki vorhanden. Wenn Sie fortfahren, werden Sie diese Änderungen verlieren\n\n--------------------------------",
saveInstructions: "SaveChanges",
unsupportedTWFormat: "Nicht unterstütztes TiddlyWiki-Format '%0'",
tiddlerSaveError: "Fehler beim Speichern von Tiddler '%0'",
tiddlerLoadError: "Fehler beim Laden von Tiddler '%0'",
wrongSaveFormat: "Speichern im Speicherformat '%0' nicht möglich. Standardformat zum Speichern wird verwendet.",
invalidFieldName: "Ungültiger Dateiname %0",
fieldCannotBeChanged: "Feld '%0' kann nicht geändert werden",
loadingMissingTiddler: "Es wird versucht, den Tiddler '%0' vom Server '%1' bei\n\n'%2' im Workspace '%3' abzurufen",
upgradeDone: "Das Upgrade auf Version %0 ist komplett\n\nKlicken Sie auf 'OK' zum Neuladen des aktualisierten TiddlyWiki"});
merge(config.messages.messageClose,{
text: "schließen",
tooltip: "diesen Textbereich schließen"});
config.messages.backstage = {
open: {text: "Backstage", tooltip: "Öffnen Sie den Backstage-Bereich für Arbeiten an Entwicklungs- und Bearbeitungsaufgaben"},
close: {text: "schließen", tooltip: "Backstage-Bereich schließen"},
prompt: "Backstage: ",
decal: {
edit: {text: "bearbeiten", tooltip: "Den Tiddler '%0' bearbeiten"}
}
};
config.messages.listView = {
tiddlerTooltip: "Klick für den vollen Text dieses Tiddlers",
previewUnavailable: "(Vorschau nicht vorhanden)"
};
config.messages.dates.months = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November","Dezember"];
config.messages.dates.days = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"];
config.messages.dates.shortMonths = ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"];
config.messages.dates.shortDays = ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"];
// Suffixe für Datum (englischsprachig), z.B. "1st","2nd","3rd"..."30th","31st"
config.messages.dates.daySuffixes = ["st","nd","rd","th","th","th","th","th","th","th",
"th","th","th","th","th","th","th","th","th","th",
"st","nd","rd","th","th","th","th","th","th","th",
"st"];
config.messages.dates.am = "am";
config.messages.dates.pm = "pm";
merge(config.messages.tiddlerPopup,{
});
merge(config.views.wikified.tag,{
labelNoTags: "keine Tags",
labelTags: "Tags: ",
openTag: "Öffne Tag '%0'",
tooltip: "Zeige Tiddlers mit Tags '%0'",
openAllText: "Öffne alle",
openAllTooltip: "Alle diese Tiddler öffnen",
popupNone: "Keine anderen Tiddler mit '%0' getaggt"});
merge(config.views.wikified,{
defaultText: "Der Tiddler '%0' existiert noch nicht. Doppelklicken zum Erstellen",
defaultModifier: "(fehlt)",
shadowModifier: "(vordefinierter Schatten-Tiddler)",
dateFormat: "DD. MMM YYYY",
createdPrompt: "erstellt"});
merge(config.views.editor,{
tagPrompt: "Geben Sie die Tags durch Leerstellen getrennt ein, [[benutzen Sie doppelte eckige Klammern]] falls nötig, oder wählen Sie vorhandene",
defaultText: "Geben Sie den Text für '%0' ein"});
merge(config.views.editor.tagChooser,{
text: "Tags",
tooltip: "Wählen Sie vorhandene Tags zum Hinzufügen zu diesem Tiddler aus",
popupNone: "Es sind keine Tags definiert",
tagTooltip: "Tag '%0' hinzufügen"});
merge(config.messages,{
sizeTemplates:
[
{unit: 1024*1024*1024, template: "%0\u00a0GB"},
{unit: 1024*1024, template: "%0\u00a0MB"},
{unit: 1024, template: "%0\u00a0KB"},
{unit: 1, template: "%0\u00a0B"}
]});
merge(config.macros.search,{
label: "suchen ",
prompt: "Dieses TiddlyWiki durchsuchen",
accessKey: "F",
successMsg: "%0 Tiddler gefunden, die %1 enthalten",
failureMsg: "Keine Tiddler gefunden, die %0 enthalten"});
merge(config.macros.tagging,{
label: "Tagging: ",
labelNotTag: "kein Tagging",
tooltip: "Liste der Tiddler, die mit '%0' getaggt sind"});
merge(config.macros.timeline,{
dateFormat: "DD. MMM YYYY"});
merge(config.macros.allTags,{
tooltip: "Tiddler, die mit '%0' getagged sind, anzeigen",
noTags: "Keine getaggten Tiddler vorhanden"});
config.macros.list.all.prompt = "Alle Tiddler in alphabetischer Reihenfolge";
config.macros.list.missing.prompt = "Tiddler, auf die verwiesen wird, die aber nicht existieren";
config.macros.list.orphans.prompt = "Tiddler, auf die nicht von anderen Tiddlern verwiesen wird";
config.macros.list.shadowed.prompt = "Tiddler, für die Standardeinträge existieren";
config.macros.list.touched.prompt = "Tiddlers, die lokal verändert wurden";
merge(config.macros.closeAll,{
label: "alle schließen",
prompt: "Alle angezeigten Tiddler schließen (außer denen, die gerade bearbeitet werden)"});
merge(config.macros.permaview,{
label: "Permaview",
prompt: "Erzeugt einen URL, mit dem auf alle gerade geöffneten Tiddler verwiesen werden kann"});
merge(config.macros.saveChanges,{
label: "Änderungen speichern",
prompt: "Alle Änderungen speichern",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "Neuer Tiddler",
prompt: "Neuen Tiddler erstellen",
title: "Neuer Tiddler",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "Neues Journal",
prompt: "Neuen Tiddler mit aktuellem Datum und aktueller Zeit erstellen",
accessKey: "J"});
merge(config.macros.options,{
wizardTitle: "Erweiterte Optionen verändern",
step1Title: "Diese Optionen werden mit Cookies in Ihrem Browser gespeichert",
step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Unbekannte Optionen anzeigen</input>",
unknownDescription: "//(unbekannt)//",
listViewTemplate: {
columns: [
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Description', field: 'description', title: "Beschreibung", type: 'WikiText'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
});
merge(config.macros.plugins,{
wizardTitle: "Plugins verwalten",
step1Title: "Aktuell geladene Plugins",
step1Html: "<input type='hidden' name='markList'></input>",
skippedText: "(Dieses Plugin wurde nicht ausgeführt, da es nach dem Start hinzugefügt wurde)",
noPluginText: "Es sind keine Plugins installiert",
confirmDeleteText: "Wollen Sie wirklich folgende Plugins löschen:\n\n%0",
removeLabel: "systemConfig-Tag entfernen",
removePrompt: "systemConfig-Tag entfernen",
deleteLabel: "löschen",
deletePrompt: "Diese Tiddler endgültig löschen",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
{name: 'Description', field: 'Description', title: "Beschreibung", type: 'String'},
{name: 'Version', field: 'Version', title: "Version", type: 'String'},
{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Grösse", type: 'Size'},
{name: 'Forced', field: 'forced', title: "Erzwungen", tag: 'systemConfigForce', type: 'TagCheckbox'},
{name: 'Disabled', field: 'disabled', title: "Deaktiviert", tag: 'systemConfigDisable', type: 'TagCheckbox'},
{name: 'Executed', field: 'executed', title: "Geladen", type: 'Boolean', trueText: "Ja", falseText: "Nein"},
{name: 'Startup Time', field: 'startupTime', title: "Startzeit", type: 'String'},
{name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Fehler", falseText: "OK"},
{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
],
rowClasses: [
{className: 'error', field: 'error'},
{className: 'warning', field: 'warning'}
]}
});
merge(config.macros.toolbar,{
moreLabel: "mehr",
morePrompt: "Weitere Funktionen anzeigen",
lessLabel: "weniger",
lessPrompt: "Zusätzliche Befehle verstecken",
separator: "|"
});
merge(config.macros.refreshDisplay,{
label: "aktualisieren",
prompt: "Gesamte TiddlyWiki-Ansicht aktualisieren"
});
merge(config.macros.importTiddlers,{
readOnlyWarning: "Sie können nicht in eine schreibgeschützte TiddlyWiki-Datei importieren. Versuchen Sie diese über eine file:// URL zu öffnen",
wizardTitle: "Tiddler aus anderer Datei oder anderem Server importieren",
step1Title: "Schritt 1: Server oder TiddlyWiki-Datei ausfindig machen",
step1Html: "Typ des Servers auswählen: <select name='selTypes'><option value=''>Wählen...</option></select><br>URL oder Pfadnamen eingeben: <input type='text' size=50 name='txtPath'><br>...oder nach einer Datei browsen: <input type='file' size=50 name='txtBrowse'><br><hr>...oder einen vordefinierten Feed auswählen: <select name='selFeeds'><option value=''>Wählen...</option></select>",
openLabel: "öffnen",
openPrompt: "Verbindung zu dieser Datei oder Server starten",
openError: "Beim Versuch, die TiddlyWiki-Datei zu öffnen, gab es Probleme",
statusOpenHost: "Verbindung zum Host starten",
statusGetWorkspaceList: "Liste von vorhandenen Workspaces abrufen",
step2Title: "Schritt 2: Workspace auswählen",
step2Html: "Einen Workspace-Namen eingeben: <input type='text' size=50 name='txtWorkspace'><br>...oder ein Workspace auswählen: <select name='selWorkspace'><option value=''>Wählen...</option></select>",
cancelLabel: "abbrechen",
cancelPrompt: "Diesen Import abbrechen",
statusOpenWorkspace: "Workspace wird geöffnet",
statusGetTiddlerList: "Abrufen der Liste von vorhandenen Workspaces",
errorGettingTiddlerList: "Fehler beim Abrufen der Liste der Tiddler, klicken Sie auf ABBRECHEN/CANCEL, um es nochmal zu probieren",
step3Title: "Schritt 3: Zu importierende Tiddler auswählen",
step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Links dieser Tiddler zum Server erhalten, um nachfolgende Änderungen synchronisieren zu können</input><br><input type='checkbox' checked='false' name='chkSave'>Speichern der Details dieses Servers in einem 'systemServer'Tiddler namens:</input> <input type='text' size=25 name='txtSaveTiddler'>",
importLabel: "importieren",
importPrompt: "Diese Tiddler importieren",
confirmOverwriteText: "Wollen Sie wirklich folgende Tiddler überschreiben:\n\n%0",
step4Title: "Schritt 4: Importieren von %0 Tiddler",
step4Html: "<input type='hidden' name='markReport'></input>",
doneLabel: "Erledigt",
donePrompt: "Diesen Assistenten schliessen",
statusDoingImport: "Tiddler werden importiert",
statusDoneImport: "Alle Tiddler importiert",
systemServerNamePattern: "%2 auf %1",
systemServerNamePatternNoWorkspace: "%1",
confirmOverwriteSaveTiddler: "Der Tiddler '%0' existiert bereits. Klicken Sie auf 'OK' um ihn mit den Details dieses Servers zu überschreiben, oder 'Abbrechen', um ihn unverändert zu lassen",
serverSaveTemplate: "|''Eingabe:''|%0|\n|''URL:''|%1|\n|''Workspace:''|%2|\n\nDieser Tiddler wurde automatisch erstellt, um Details dieses Servers aufzuzeichnen",
serverSaveModifier: "(System)",
listViewTemplate: {
columns: [
{name: 'Selected', field: 'Selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
{name: 'Size', field: 'size', tiddlerLink: 'size', title: "Grösse", type: 'Size'},
{name: 'Tags', field: 'tags', title: "Tags", type: 'Tags'}
],
rowClasses: [
]}
});
merge(config.macros.upgrade,{
wizardTitle: "Upgraden des Kerncodes von TiddlyWiki",
step1Title: "Update oder Reparatur dieses TiddlyWiki auf die aktuellste Version",
step1Html: "Sie sind dabei, auf die aktuellste Version des TiddlyWiki-Kerncodes upzugraden (von <a href='%0' class='externalLink' target='_blank'>%1</a>). Ihre Inhalte werden während dem Upgrade erhalten bleiben.<br><br>Bitte beachten Sie, dass Kerncode-Updates mit älteren Plugins kollidieren können. Wenn Sie Probleme mit der aktualisierten Datei beobachten, besuchen Sie bitte <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",
errorCantUpgrade: "Upgrade dieses TiddlyWiki nicht möglich. Sie können nur lokal abgespeicherte TiddlyWiki-Dateien upgraden",
errorNotSaved: "Sie müssen zunächst Änderungen speichern, bevor Sie ein Upgrade starten können",
step2Title: "Upgrade-Details bestätigen",
step2Html_downgrade: "Sie sind dabei, von der TiddlyWiki-Version %1 auf die Version %0 downzugraden.<br><br>Der Downgrade auf eine frühere Version von TiddlyWiki wird nicht empfohlen",
step2Html_restore: "Dieses TiddlyWiki scheint bereits die aktuellste Version des Kerncodes (%0) einzusetzen.<br><br>Sie können mit dem Upgrade fortsetzen, um sicherzustellen, dass der Kerncode nicht korrumpiert oder beschädigt wurde",
step2Html_upgrade: "Sie sind dabei, von der TiddlyWiki-Version %1 auf die Version %0 upzugraden",
upgradeLabel: "upgraden",
upgradePrompt: "Vorbereiten des Upgrade-Prozesses",
statusPreparingBackup: "Backup vorbereiten",
statusSavingBackup: "Backup-Datei speichern",
errorSavingBackup: "Ein Problem mit dem Speichern der Backup-Datei ist aufgetreten",
statusLoadingCore: "Kerncode laden",
errorLoadingCore: "Fehler beim Laden des Kerncodes",
errorCoreFormat: "Fehler im neuen Kerncode",
statusSavingCore: "Neuen Kerncode speichern",
statusReloadingCore: "Neuen Kerncode neu laden",
startLabel: "starten",
startPrompt: "Upgrade-Prozess starten",
cancelLabel: "abbrechen",
cancelPrompt: "Upgrade-Prozess abbrechen",
step3Title: "Upgrade abgebrochen",
step3Html: "Sie haben den Upgrade-Prozess abgebrochen"
});
merge(config.macros.sync,{
listViewTemplate: {
columns: [
{name: 'Selected', field: 'selected', rowName: 'title', type: 'Selector'},
{name: 'Tiddler', field: 'tiddler', title: "Tiddler", type: 'Tiddler'},
{name: 'Server Type', field: 'serverType', title: "Server-Typ", type: 'String'},
{name: 'Server Host', field: 'serverHost', title: "Server-Host", type: 'String'},
{name: 'Server Workspace', field: 'serverWorkspace', title: "Server-Workspace", type: 'String'},
{name: 'Status', field: 'status', title: "Status der Synchronisation", type: 'String'},
{name: 'Server URL', field: 'serverUrl', title: "Server-URL", text: "View", type: 'Link'}
],
rowClasses: [
],
buttons: [
{caption: "Diese Tiddler synchronisieren", name: 'sync'}
]},
wizardTitle: "Mit externen Servern oder Dateien synchronisieren",
step1Title: "Wählen Sie die Tiddler aus, die Sie synchronisieren möchten",
step1Html: '<input type="hidden" name="markList"></input>',
syncLabel: "synchronisieren",
syncPrompt: "Diese Tiddler synchronisieren",
hasChanged: "Verändert während Trennung",
hasNotChanged: "Unverändert während Trennung",
syncStatusList: {
none: {text: "...", display:null, className:'notChanged'},
changedServer: {text: "Auf dem Server geändert", display:null, className:'changedServer'},
changedLocally: {text: "Im ausgesteckten Zustand geändert", display:null, className:'changedLocally'},
changedBoth: {text: "Im ausgesteckten Zustand und auf dem Server geändert", display:null, className:'changedBoth'},
notFound: {text: "Auf dem Server nicht gefunden", display:null, className:'notFound'},
putToServer: {text: "Aktualisierung auf dem Server gespeichert", display:null, className:'putToServer'},
gotFromServer: {text: "Aktualisierung vom Server abgerufen", display:null, className:'gotFromServer'}
}
});
merge(config.macros.annotations,{
});
merge(config.commands.closeTiddler,{
text: "schließen",
tooltip: "Diesen Tiddler schließen"});
merge(config.commands.closeOthers,{
text: "andere schließen",
tooltip: "Alle anderen Tiddler schließen"});
merge(config.commands.editTiddler,{
text: "bearbeiten",
tooltip: "Diesen Tiddler bearbeiten",
readOnlyText: "betrachten",
readOnlyTooltip: "Quellcode dieses Tiddlers betrachten"});
merge(config.commands.saveTiddler,{
text: "fertig",
tooltip: "Änderungen an diesem Tiddler speichern"});
merge(config.commands.cancelTiddler,{
text: "abbrechen",
tooltip: "Änderungen an diesem Tiddler verwerfen",
warning: "Wollen Sie wirklich Änderungen in '%0' verwerfen?",
readOnlyText: "fertig",
readOnlyTooltip: "Diesen Tiddler normal anzeigen"});
merge(config.commands.deleteTiddler,{
text: "löschen",
tooltip: "Diesen Tiddler löschen",
warning: "Wollen Sie '%0' wirklich löschen?"});
merge(config.commands.permalink,{
text: "Permalink",
tooltip: "Permalink für diesen Tiddler"});
merge(config.commands.references,{
text: "Referenzen",
tooltip: "Alle Tiddler zeigen, die auf diesen verweisen",
popupNone: "Keine Referenzen"});
merge(config.commands.jump,{
text: "springen",
tooltip: "Zu anderem, geöffneten Tiddler springen"});
merge(config.commands.syncing,{
text: "Synchronisierung läuft",
tooltip: "Synchronisation dieses Tiddlers mit einem Server oder einer externen Datei kontrollieren",
currentlySyncing: "<div>Aktuell am Synchronisieren mit <span class='popupHighlight'>'%0'</span> zu:</"+"div><div>Host: <span class='popupHighlight'>%1</span></"+"div><div>Workspace: <span class='popupHighlight'>%2</span></"+"div>", // Hinweis - Das Schliessen des <div>-Tag verlassen
notCurrentlySyncing: "Derzeit keine Synchronisierung",
captionUnSync: "Synchronisierung dieses Tiddlers stoppen",
chooseServer: "Diesen Tiddler mit anderem Server synchronisieren:",
currServerMarker: "\u25cf ",
notCurrServerMarker: " "});
merge(config.commands.fields,{
text: "Felder",
tooltip: "Erweiterte Felder dieses Tiddlers anzeigen",
emptyText: "Keine erweiterten Felder für diesen Tiddler vorhanden",
listViewTemplate: {
columns: [
{name: 'Field', field: 'field', title: "Feld", type: 'String'},
{name: 'Value', field: 'value', title: "Wert", type: 'String'}
],
rowClasses: [
],
buttons: [
]}});
merge(config.shadowTiddlers,{
DefaultTiddlers: "[[Vita]]",
MainMenu: "[[Vita]]",
SiteTitle: "Mein TiddlyWiki",
SiteSubtitle: "ein wiederverwendbares nichtlineares, persönliches ~Web-Notizbuch",
SiteUrl: "http://www.tiddlywiki.com/",
SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD. MMM YYYY" "Journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "Optionen \u00bb" "Optionen von TiddlyWiki ändern">>',
SideBarTabs: '<<tabs txtMainTab "Zeitachse" "Zeitachse" TabTimeline "Alles" "Alle Tiddler" TabAll "Tags" "Alle Tags" TabTags "Mehr" "Weitere Listen" TabMore>>',
TabMore: '<<tabs txtMoreTab "Fehlend" "Fehlende Tiddler" TabMoreMissing "Waisen" "Verwaiste Tiddler" TabMoreOrphans "Schatten" "Tiddler mit Schatteneinträgen" TabMoreShadowed>>'
});
merge(config.annotations,{
AdvancedOptions: "Dieser Schatten-Tiddler bietet Zugang zu diversen erweiterten Optionen",
ColorPalette: "Diese Werte in diesem Schatten-Tiddler legen das Farbschema der Benutzerschnittstelle des TiddlyWiki fest",
DefaultTiddlers: "Die in diesem Schatten-Tiddler aufgelisteten Tiddler werden automatisch beim Start des TiddlyWiki angezeigt",
EditTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das Aussehen von Tiddler während ihrer Bearbeitung fest",
ImportTiddlers: "Dieser Schatten-Tiddler bietet Zugang zum Import von Tiddler",
MainMenu: "Dieser Schatten-Tiddler dient als Container für das Hauptmenü in der linksseitigen Spalte des Bildschirms",
MarkupPreHead: "Dieser Tiddler wird an der Spitze der <head>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
MarkupPostHead: "Dieser Tiddler wird am Ende der <head>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
MarkupPreBody: "Dieser Tiddler wird an der Spitze der <body>-Sektion der HTML-Datei des TiddlyWiki eingefügt",
MarkupPostBody: "Dieser Tiddler wird am Ende der <body>-Sektion der HTML-Datei des TiddlyWiki unmittelbar nach dem Scriptblock eingefügt",
OptionsPanel: "Dieser Schatten-Tiddler dient als Container für das einblendbare Optionsfeld in der rechtsseitigen Seitenleiste",
PageTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das allgemeine Aussehen des TiddlyWiki fest",
PluginManager: "Dieser Schatten-Tiddler bietet Zugang zum Plugin-Manager",
SideBarOptions: "Dieser Schatten-Tiddler dient als Container für das Optionsfeld in der rechtsseitigen Seitenleiste",
SideBarTabs: "Dieser Schatten-Tiddler dient als Container für das Tab-Panel in der rechtsseitigen Seitenleiste",
SiteSubtitle: "Dieser Schatten-Tiddler enthält den zweiten Teil der Seitenüberschrift",
SiteTitle: "Dieser Schatten-Tiddler enthält den ersten Teil der Seitenüberschrift",
SiteUrl: "Dieser Schatten-Tiddler sollte den vollständigen Ziel-URL der Veröffentlichung enthalten",
StyleSheetColors: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich der Farbe von Seitenelementen. ''DIESEN TIDDLER NICHT BEARBEITEN'', fügen Sie Ihre Änderungen stattdessen in den StyleSheet-Schatten-Tiddler ein",
StyleSheet: "Dieser Tiddler kann benutzerspezifische CSS-Definitionen enthalten",
StyleSheetLayout: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich dem Aussehen von Seitenelementen. ''DIESEN TIDDLER NICHT BEARBEITEN'', fügen Sie Ihre Änderungen stattdessen in den StyleSheet-Schatten-Tiddler ein",
StyleSheetLocale: "Dieser Schatten-Tiddler enthält CSS-Definitionen bezüglich lokale Übersetzungen",
StyleSheetPrint: "Dieser Schatten-Tiddler enthält CSS-Definitionen zum Drucken",
TabAll: "Dieser Schatten-Tiddler enthält den Inhalt des 'Alles'-Tab in der rechtsseitigen Seitenleiste",
TabMore: "Dieser Schatten-Tiddler enthält den Inhalt des 'Mehr'-Tab in der rechtsseitigen Seitenleiste",
TabMoreMissing: "Dieser Schatten-Tiddler enthält den Inhalt des 'Fehlend'-Tab in der rechtsseitigen Seitenleiste",
TabMoreOrphans: "Dieser Schatten-Tiddler enthält den Inhalt des 'Waisen'-Tab in der rechtsseitigen Seitenleiste",
TabMoreShadowed: "Dieser Schatten-Tiddler enthält den Inhalt des 'Schatten'-Tab in der rechtsseitigen Seitenleiste",
TabTags: "Dieser Schatten-Tiddler enthält den Inhalt des 'Tags'-Tab in der rechtsseitigen Seitenleiste",
TabTimeline: "Dieser Schatten-Tiddler enthält den Inhalt des 'Zeitachse'-Tab in der rechtsseitigen Seitenleiste",
ToolbarCommands: "Dieser Schatten-Tiddler legt fest, welche Befehle in Tiddler-Toolbars angezeigt werden",
ViewTemplate: "Die HTML-Vorlage in diesem Schatten-Tiddler legt das Aussehen der Tiddler fest"
});
// Uebersetzungen von Schatten-Tiddlern ausserhalb der offiziellen lingo.js
merge(config.shadowTiddlers,{
OptionsPanel: "Diese [[Interface-Einstellungen|InterfaceOptions]] zur Anpassung von TiddlyWiki werden in Ihrem Browser gespeichert\n\nIhr Benutzername zum Unterzeichnen Ihrer Einträge. Bitte als WikiWord (z.B. KlausBrandmüller) schreiben\n\n<<option txtUserName>>\n<<option chkSaveBackups>> [[Backups speichern|SaveBackups]]\n<<option chkAutoSave>> [[Automatisch speichern|AutoSave]]\n<<option chkRegExpSearch>> [[RegExp Suche|RegExpSearch]]\n<<option chkCaseSensitiveSearch>> [[Groß-/Kleinschreibung in Suche|CaseSensitiveSearch]]\n<<option chkAnimate>> [[Animationen aktivieren|EnableAnimations]]\n\n----\[[Erweiterte Optionen|AdvancedOptions]]\nPluginManager\nImportTiddlers",
ViewTemplate: "<div class='toolbar' macro='toolbar -closeTiddler closeOthers +editTiddler permalink references jump'></div>\n<div class='title' macro='view title'></div>\n<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (erstellt am <span macro='view created date'></span>)</div>\n<div class='tagging' macro='tagging'></div>\n<div class='tagged' macro='tags'></div>\n<div class='viewer' macro='view text wikified'></div>\n<div class='tagClear'></div>",
InterfaceOptions: "Die [[Interface-Einstellungen|InterfaceOptions]] werden angezeigt, wenn Sie rechts auf 'Optionen' klicken. Sie werden mit einem Cookie in Ihrem Browser gespeichert, um sie zwischen den Aufrufen zu sichern. Nähere Informationen zu den einzelnen Funktionen finden Sie, wenn Sie die Funktion selbst anklicken.",
WikiWord: "Ein WikiWord ist ein Wort, das aus mehreren einzelnen Wörtern zusammengesetzt ist, in dem jedes Wort mit einem Grossbuchstaben beginnt und eine individuelle Seite bezeichnet.",
SaveBackups: "[[Backups speichern|SaveBackups]] ist eine Funktion, mit der automatisch bei jedem Abspeichern ein Backup erstellt wird.",
AutoSave: "[[Automatisches Speichern|AutoSave]] speichert automatisch Änderungen jedes Mal, wenn Sie einen Tiddler bearbeiten. Damit sinken die Chancen, dass Sie Daten verlieren. Beachten Sie jedoch, dass bei aktivierter [[Backup-Funktion|SaveBackups]] natürlich auch eine Menge Backup-Dateien erstellt werden. Entscheiden Sie sich deshalb für die eine oder andere Funktion.",
RegExpSearch: "Mit der [[RegExp Suche|RegExpSearch]] können Sie mit regulären Suchausdrücken flexible Suchanfragen vornehmen.",
CaseSensitiveSearch: "Die Unterscheidung der [[Groß-/Kleinschreibung in Suche|CaseSensitiveSearch]] tut genau dies.",
EnableAnimations: "Diese Funktion aktiviert Animationen, wenn Sie einen Tiddler öffnen oder schliessen.",
GenerateAnRssFeed: "Wenn Sie [[RSS-Feed generieren|GenerateAnRssFeed]] aktivieren, speichert TiddlyWiki automatisch einen RSS-2.0-gültigen Feed, so bald Ihr TiddlyWiki gespeichert wird. Der Feed hat den gleichen Dateinamen wie das TiddlyWiki, lediglich jedoch mit der Endung '.xml'.",
OpenLinksInNewWindow: "Diese Funktion öffnet externe Links in einem neuen ~Browser-Fenster.",
SaveEmptyTemplate: "Diese Funktion erwirkt, dass beim Abspeichern von Änderungen eine leere Vorlage von TiddlyWiki erzeugt wird. Dies ist als Hilfe gedacht für Entwickler, die Adaptionen von TiddlyWiki bereitstellen. Die Funktion ist nicht erforderlich, wenn Sie ein normaler Benutzer sind.",
HideEditingFeatures: "Ist diese Funktion aktiviert, werden die Bearbeitungsfunktionen ausgeblendet, wenn das TiddlyWiki über HTTP aufgerufen wird. Der Benutzer hat dann die Möglichkeit, den Tiddler zwar betrachten zu können, aber nicht zu bearbeiten.",
MinorChanged: "Manchmal ist es sinnvoll, dass bei kleinen Änderungen der Tiddler in der Zeitachse nicht automatisch an den Anfang gesetzt wird. Mit Aktivierung dieser Funktion werden alle Bearbeitungen von Tiddlern als kleine Änderungen betrachtet und das Änderungsdatum nicht geändert.",
ConfirmBeforeDeleting: "Bei Aktivierung dieser Funktion fordert TiddlyWiki eine Bestätigung des Benutzers an, wenn ein Tiddler gelöscht werden soll."});
//}}}
[[Tor]] – Diaschau 17 Bilder
----
[[Wert]] – Diaschau 115 Bilder (etwas Geduld beim Laden bitte)
----
{{small{2004}}}
!!!Eine Frucht
Ganz außen die Schale.
Sie kann ganz dünn sein und weich
oder hart, oder sie kann dick sein und ledrig
oder aber holzig.
Sie kann ganz glatt und glänzend oder matt sein
oder gefurcht, zernarbt oder einfach nur rau.
Warzig, stachelig, bemehlt.
Sie ist dunkelblau und rot oder rot und gelb
oder nur rot, orange, gelb oder blau.
Sie kann auch grün sein oder weiß,
aber auch braun kommt vor, sogar schwarz.
Sie ist einfarbig, gefleckt, gesprenkelt oder mit Streifen
oder mit Farbübergängen von hier nach da.
Meistens verändert sich die Farbe auch, je nach Reifegrad.
Sie kann ganz bitter schmecken, oder sauer und zusammenziehend
oder süß oder nach gar Nichts oder noch ganz anders.
Sie kann ganz fest mit dem Fleisch verbunden sein
oder auch nicht, wie beim Ei.
Das Fleisch kann saftig sein
oder mehlig, mürbe, faserig, korkig oder auch ganz fest.
Es ist weiß, grün oder gelb, orange oder rot,
manchmal auch blau oder schwarz.
Es schmeckt sauer oder süß, bitter oder bittersüß
oder wässerig, erdig, seifig, käsig, fruchtig, gärig, muffig
oder nach Marzipan.
Der Kern oder die Kerne haben eine Schale.
Die kann ganz dünn sein und weich
oder hart, oder sie kann dick sein und ledrig
oder aber holzig.
Sie kann ganz glatt und glänzend oder matt sein
oder gefurcht, zernarbt oder einfach nur rau.
Warzig, stachelig.
Sie ist dunkelblau und rot oder rot und gelb
oder nur rot, orange, gelb oder blau.
Sie kann auch grün sein oder weiß,
aber auch braun kommt vor, sogar schwarz.
Sie ist einfarbig, gefleckt, gesprenkelt oder mit Streifen
oder mit Farbübergängen von hier nach da.
Meistens verändert sich die Farbe auch, je nach Reifegrad.
Sie kann ganz bitter schmecken, oder sauer und zusammenziehend
oder süß oder nach gar Nichts oder noch ganz anders.
Sie kann ganz fest mit dem Fleisch verbunden sein
oder auch nicht, wie beim Ei.
Und das bei den Dreien in jeglicher Kombination.
Nur das ganz Innerste, der Keim, ist bei allen gleich beschaffen.
Nur bei den Orchideen nicht!
Ist das nicht wunderbar?
----
[img[images/jpg_c/eurocenter.jpg]]
config.options.txtFadeTimer = 5000; // 5 seconds
function displayMessage(text,linkText,fadeTimer) {
var e = getMessageDiv();
if(!e) {
alert(text);
return;
}
if(linkText) {
var link = createTiddlyElement(e,"a",null,null,text);
link.href = linkText;
link.target = "_blank";
} else {
e.appendChild(document.createTextNode(text));
}
if(config.options.txtFadeTimer > 0) {
setTimeout(clearMessage, config.options.txtFadeTimer);
}
}
[[halbSonett]]
[[Eine Frucht]]
----
**[[wd|./2be46d204d1fba0a617fe2520c2cf8a3/geopol_l.aiff]]
**[[wd|./2be46d204d1fba0a617fe2520c2cf8a3//geopolsini_l.aiff]]
**[[jhp|./2be46d204d1fba0a617fe2520c2cf8a3/clocks_i.aiff]]
**[[jhp|./2be46d204d1fba0a617fe2520c2cf8a3/looking_back_ahead.aiff]]
2020
!!!Genesis 1.3
Gott sprach: Es werde Licht. Und es wurde kein Licht.
Und seitdem tappen sie alle im Dunkeln und hangeln sich von einem ihrer Irrtümer zum nächsten.
Die sabbernden selbstgerechten und selbstmitleidigen weißen Männer, die dank des Virus
den Geruch des Blutes und der Scheiße an ihren Händen nicht riechen, und sie denken, sie seien in der Hölle.
Dank des Virus entgeht ihnen die Kenntnis darüber, dass sie im Paradies sind
und alles nach Blüten von stechend süßer Cochleanthes //discolor// und zart-muffigem Wasserdost duftet.
Hat da jemand vergessen, die Stromrechnung zu bezahlen?
----
Es soll hier um Ernährung gehen, Ernährung im weitesten Sinne. Ernährung angesichts von Allergien, Unverträglichkeiten oder sonstigen "Krankheiten". Es soll ja trotzdem Spaß machen und Freude bereiten können.
Als ich es selber gemerkt hatte, das war nach meiner Diagnose: HIT (~HistaminInToleranz), begann ich nachzudenken. Es war schon zu spät.
Ich fange einfach irgendwo an:
*Erstes Lehrstück: [[Hering]]
*Zweites Lehrstück: [[Tartar vom Lachs]]
----
{{{
config.macros.top={};
config.macros.top.handler=function(place,macroName)
{
createTiddlyButton(place,"^","nach oben springen",this.onclick);
}
config.macros.top.onclick=function()
{
window.scrollTo(0,0);
};
config.commands.top =
{
text:" ^ ",
tooltip:"jump to top"
};
config.commands.top.handler = function(event,src,title)
{
window.scrollTo(0,0);
}
}}}
Hering ist ein Tier, welches im Meerwasser lebt und gut aussieht. Wie glänzendes Silber. Ich kenne es aus dem Wilhelmshavener Seewasseraquarium. Damals bestand der Schwarm dort aus ungefähr einem Dutzend Tiere. Beim Fischhändler kostete ein [[Grüner Hering|https://de.wikipedia.org/wiki/Gr%C3%BCner_Hering]] wenige Groschen. Er zählte eben nicht zu den Edelfischen.
Das war die Falle. Damals dachte ich, dann müssen wir ihn eben veredeln, mit Löwensenf, Knoblauch und Estragon. Gegrillt hatte er auf jeden Fall gut geschmeckt.
Am allerbesten schmeckt er allerdings so:
!!!Werkzeug
*Backofen
!!!Verbrauchsmaterial
*Küchenkrepp
*Backpapier
!!!Zutaten
*Hering (einer oder zwei pro Person)
*Beilage Pellkartoffel und Gurkensalat
*Getränk Wodka oder Pils oder Weißwein oder Wasser
!!!Zubereitung
#Backofen auf 180°C vorheizen, Backblech auf Mitte
#Hering (ausgenommen, mit oder ohne Kopf, Flossen nicht abschneiden) waschen und abtrocknen
#dann der Clou: ''NICHT WÜRZEN''
#Hering auf Backpapier legen (4cm parallel zur langen Kante), Seiten einschlagen und zwei halbe Drehungen nach hinten rollen
#aufs Blech legen, Backofen schließen
#15 Minuti mit Umluft, Nach 8 Minuti Temperatur auf 0°C
#mit Backpapier auf den Teller legen und heiß servieren
!!!Essen
#Backpapier an den Zipfeln packen und Inhalt inklusive ausgetretene Flüssigkeit auf den Teller rollen (die meiste Haut, sogar die Basisgräten der meisten Flossen bleiben am Backpapier kleben)
#Man schiebt mit dem Fischmesser die halben Filets von der Mittelnaht nach oben und unten, wendet den Rest und wiederholt das Ganze auf der anderen Seite
Cool? Nicht mal Pfeffer und Salz sind zum Einsatz gekommen. Diese Art der Zuberteitung nenne ich: ''Minimal''.
Hering, Makrele, Aal, Thunfisch, Sardinen und noch andere Fische enthalten ziemlich viel Purine, die an denselben Rezeptoren andocken wie Histamin. Sehr, sehr schade. Für mich gehen Fischstäbchen, Farmlachs, Forelle, Saibling.
----
2006
!!Hermi
Haste mal wieder einen von denen gesehn?
Ja, den Jan, vor drei oder vier Jahren.
Was macht der?
Der arbeitet für eine Brauerei in Bremen, oder Bremerhaven? Ich weiss nicht mehr genau, – in der Werbeabteilung.
Aha. Erinnerst du dich noch an Hermi?
Hermann Ententzwei?
Ja.
Ja, der ist wohl tot. Da hat mir Jan damals bei der Gelegenheit eine Geschichte erzählt. Ich weiß aber nicht, ob die stimmt. Und das muss wohl alles schon zwanzig Jahre her sein.
Erzähl mal.
Hermann hat irgendwann mal in irgendeiner Kneipe auf'm Kiez eine Frau getroffen. Die kannte einen Trick mit einem eckigen Wasser- und einem runden Weinglas. In dem Wasserglas war Wasser, in dem Weinglas Wein. Weisswein. Man konnte das an der Farbe sehen. Und die alle an der Theke haben geredet, und keiner wusste so genau, worum es eigentlich geht, und als sie wieder auf die Gläser guckten, war in dem eckigen Wasserglas der Wein und in dem runden Weinglas das Wasser.
Hm. Und?
Ich weiß nicht, ob Hermann ihr was dafür bezahlt hat oder er ihr einfach nur auf die Schliche gekommen ist. Er hat den Act entwickelt, mit Rotwein aber. Ich hab ja keine Ahnung davon, wie sowas geht. Er soll dann nach anderthalb Jahren nach Las Vegas gegangen sein. Und jemand dort hat den Act gekauft.
Ja. Und?
Naja, wie das dann so ist. Er hat ne Menge Geld verdient. Die Rechtgläubigen aus den Nachbarstaaten haben die Show gebucht und haben geguckt, wie jemand aus Wein Wasser macht. Ach, Scheiße. Umgekehrt. Aus Wasser Wein natürlich.
Was hast du gesagt? Scheiße? Er hat doch nur die Flüssigkeiten oder die Gläser getauscht.
Genau.
Und warum ist er jetzt tot?
Jemand von den Rechtgläubigen hat ihm dessen rechtgläubige dreizehnjährige Tochter ins Hotelbett gelegt.
Aber davon stirbt man doch nicht.
Die soll danach schwanger gewesen sein.
Und war sie schwanger?
Das soll aus den Gerichtsakten nicht herausgeguckt haben. Das Gericht hat ihn für schuldig an der Schwangerschaft der Dreizehnjährigen befunden und er ist in die Todeszelle gekommen. Nach einem Dreivierteljahr ist er per Cordialinjektion hingerichtet worden.
Findest du es gut, mir eine solch haarsträubende Geschichte zu erzählen?
Nein.
Warum tust du es dann?
Vielleicht, weil ich selbst nicht dabei war.
Und, wie heißt das Kind?
Nu. Die in den Akten bezeichnete Person hat niemals ein Kind zur Welt gebracht, noch jemals abgetrieben.
Wozu dann das Ganze?
Weiß ich nicht. Vielleicht deshalb, weil es offenbar sehr einfach ist, aus Wein Wasser zu machen. Oder umgekehrt? Ich weiß ja nichteinmal, ob die Geschichte überhaupt wahr ist. Ich war ja nicht dabei.
Tolle Geschichte! Apropos Scheiße, wenn jemand daraus Gold machen könnte...
Kein Sakrileg, keine Feinde. Keine tolle Geschichte.
Schade.
----
config.options.chkHttpReadOnly = true;
/***
|Name:|HideWhenPlugin|
|Description:|Allows conditional inclusion/exclusion in templates|
|Version:|3.1 ($Rev: 3919 $)|
|Date:|$Date: 2008-03-13 02:03:12 +1000 (Thu, 13 Mar 2008) $|
|Source:|http://mptw.tiddlyspot.com/#HideWhenPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
For use in ViewTemplate and EditTemplate. Example usage:
{{{<div macro="showWhenTagged Task">[[TaskToolbar]]</div>}}}
{{{<div macro="showWhen tiddler.modifier == 'BartSimpson'"><img src="bart.gif"/></div>}}}
***/
//{{{
window.hideWhenLastTest = false;
window.removeElementWhen = function(test,place) {
window.hideWhenLastTest = test;
if (test) {
removeChildren(place);
place.parentNode.removeChild(place);
}
};
merge(config.macros,{
hideWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( eval(paramString), place);
}},
showWhen: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !eval(paramString), place);
}},
hideWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTagged: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAny(params), place);
}},
showWhenTaggedAny: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAny(params), place);
}},
hideWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.tags.containsAll(params), place);
}},
showWhenTaggedAll: { handler: function (place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !tiddler.tags.containsAll(params), place);
}},
hideWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0]), place);
}},
showWhenExists: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !(store.tiddlerExists(params[0]) || store.isShadowTiddler(params[0])), place);
}},
hideWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title == params[0], place);
}},
showWhenTitleIs: { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( tiddler.title != params[0], place);
}},
'else': { handler: function(place,macroName,params,wikifier,paramString,tiddler) {
removeElementWhen( !window.hideWhenLastTest, place);
}}
});
//}}}
<<photoGallery url:images/anbl/ince/ince-*.jpg sequence:"1-10" height:470 time:8000 labels:Incekum_2004>>
----
Tropical Heat
Mare Nostrum
Am Meer
Empfangsstation
Im Haus
Annabella
und es ward Licht
Stütze
nirgend
schnell weg
<<include "export.html">>
/***
|Name|InlineJavascriptPlugin|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.5|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Insert Javascript executable code directly into your tiddler content.|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Documentation
>see [[InlineJavascriptPluginInfo]]
!!!!!Revisions
<<<
2009.04.11 [1.9.5] pass current tiddler object into wrapper code so it can be referenced from within 'onclick' scripts
2009.02.26 [1.9.4] in $(), handle leading '#' on ID for compatibility with JQuery syntax
|please see [[InlineJavascriptPluginInfo]] for additional revision details|
2005.11.08 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.InlineJavascriptPlugin= {major: 1, minor: 9, revision: 5, date: new Date(2009,4,11)};
config.formatters.push( {
name: "inlineJavascript",
match: "\\<script",
lookahead: "\\<script(?: src=\\\"((?:.|\\n)*?)\\\")?(?: label=\\\"((?:.|\\n)*?)\\\")?(?: title=\\\"((?:.|\\n)*?)\\\")?(?: key=\\\"((?:.|\\n)*?)\\\")?( show)?\\>((?:.|\\n)*?)\\</script\\>",
handler: function(w) {
var lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var src=lookaheadMatch[1];
var label=lookaheadMatch[2];
var tip=lookaheadMatch[3];
var key=lookaheadMatch[4];
var show=lookaheadMatch[5];
var code=lookaheadMatch[6];
if (src) { // external script library
var script = document.createElement("script"); script.src = src;
document.body.appendChild(script); document.body.removeChild(script);
}
if (code) { // inline code
if (show) // display source in tiddler
wikify("{{{\n"+lookaheadMatch[0]+"\n}}}\n",w.output);
if (label) { // create 'onclick' command link
var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));
var fixup=code.replace(/document.write\s*\(/gi,'place.bufferedHTML+=(');
link.code="function _out(place,tiddler){"+fixup+"\n};_out(this,this.tiddler);"
link.tiddler=w.tiddler;
link.onclick=function(){
this.bufferedHTML="";
try{ var r=eval(this.code);
if(this.bufferedHTML.length || (typeof(r)==="string")&&r.length)
var s=this.parentNode.insertBefore(document.createElement("span"),this.nextSibling);
if(this.bufferedHTML.length)
s.innerHTML=this.bufferedHTML;
if((typeof(r)==="string")&&r.length) {
wikify(r,s,null,this.tiddler);
return false;
} else return r!==undefined?r:false;
} catch(e){alert(e.description||e.toString());return false;}
};
link.setAttribute("title",tip||"");
var URIcode='javascript:void(eval(decodeURIComponent(%22(function(){try{';
URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g,' ')));
URIcode+='}catch(e){alert(e.description||e.toString())}})()%22)))';
link.setAttribute("href",URIcode);
link.style.cursor="pointer";
if (key) link.accessKey=key.substr(0,1); // single character only
}
else { // run script immediately
var fixup=code.replace(/document.write\s*\(/gi,'place.innerHTML+=(');
var c="function _out(place,tiddler){"+fixup+"\n};_out(w.output,w.tiddler);";
try { var out=eval(c); }
catch(e) { out=e.description?e.description:e.toString(); }
if (out && out.length) wikify(out,w.output,w.highlightRegExp,w.tiddler);
}
}
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
}
} )
//}}}
// // Backward-compatibility for TW2.1.x and earlier
//{{{
if (typeof(wikifyPlainText)=="undefined") window.wikifyPlainText=function(text,limit,tiddler) {
if(limit > 0) text = text.substr(0,limit);
var wikifier = new Wikifier(text,formatter,null,tiddler);
return wikifier.wikifyPlain();
}
//}}}
// // GLOBAL FUNCTION: $(...) -- 'shorthand' convenience syntax for document.getElementById()
//{{{
if (typeof($)=='undefined') { function $(id) { return document.getElementById(id.replace(/^#/,'')); } }
//}}}
/***
|Name|InlineJavascriptPluginInfo|
|Source|http://www.TiddlyTools.com/#InlineJavascriptPlugin|
|Documentation|http://www.TiddlyTools.com/#InlineJavascriptPluginInfo|
|Version|1.9.4|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Description|Documentation for InlineJavascriptPlugin|
''Call directly into TW core utility routines, define new functions, calculate values, add dynamically-generated TiddlyWiki-formatted output'' into tiddler content, or perform any other programmatic actions each time the tiddler is rendered.
!!!!!Usage
<<<
This plugin adds wiki syntax for surrounding tiddler content with {{{<script>}}} and {{{</script>}}} markers, so that it can be recognized as embedded javascript code.
<script show>
/* javascript code goes here... */
</script>Every time the tiddler content is rendered, the javascript code is automatically evaluated, allowing you to invoke 'side-effect' processing and/or produce dynamically-generated content that is then inserted into the tiddler content, immediately following the script (see below). By including the optional ''show'' keyword as the final parameter in a {{{<script>}}} marker, the plugin will also include the script source code in the output that it displays in the tiddler. This is helpful when creating examples for documentation purposes (such as used in this tiddler!)
__''Deferred execution from an 'onClick' link''__
<script label="click here" title="mouseover tooltip text" key="X" show>
/* javascript code goes here... */
alert('you clicked on the link!');
</script>
By including a {{{label="..."}}} parameter in the initial {{{<script>}}} marker, the plugin will create a link to an 'onclick' script that will only be executed when that specific link is clicked, rather than running the script each time the tiddler is rendered. You may also include a {{{title="..."}}} parameter to specify the 'tooltip' text that will appear whenever the mouse is moved over the onClick link text, and a {{{key="X"}}} parameter to specify an //access key// (which must be a //single// letter or numeric digit only).
__''Loading scripts from external source files''__
<script src="URL" show>
/* optional javascript code goes here... */
</script>You can also load javascript directly from an external source URL, by including a src="..." parameter in the initial {{{<script>}}} marker (e.g., {{{<script src="demo.js"></script>}}}). This is particularly useful when incorporating third-party javascript libraries for use in custom extensions and plugins. The 'foreign' javascript code remains isolated in a separate file that can be easily replaced whenever an updated library file becomes available.
In addition to loading the javascript from the external file, you can also use this feature to invoke javascript code contained within the {{{<script>...</script>}}} markers. This code is invoked //after// the external script file has been processed, and can make immediate use of the functions and/or global variables defined by the external script file.
>Note: To ensure that your javascript functions are always available when needed, you should load the libraries from a tiddler that is rendered as soon as your TiddlyWiki document is opened, such as MainMenu. For example: put your {{{<script src="..."></script>}}} syntax into a separate 'library' tiddler (e.g., LoadScripts), and then add {{{<<tiddler LoadScripts>>}}} to MainMenu so that the library is loaded before any other tiddlers that rely upon the functions it defines.
>
>Normally, loading external javascript in this way does not produce any direct output, and should not have any impact on the appearance of your MainMenu. However, if your LoadScripts tiddler contains notes or other visible content, you can suppress this output by using 'inline CSS' in the MainMenu, like this: {{{@@display:none;<<tiddler LoadScripts>>@@}}}
<<<
!!!!!Creating dynamic tiddler content and accessing the ~TiddlyWiki DOM
<<<
An important difference between TiddlyWiki inline scripting and conventional embedded javascript techniques for web pages is the method used to produce output that is dynamically inserted into the document: in a typical web document, you use the {{{document.write()}}} (or {{{document.writeln()}}}) function to output text sequences (often containing HTML tags) that are then rendered when the entire document is first loaded into the browser window.
However, in a ~TiddlyWiki document, tiddlers (and other DOM elements) are created, deleted, and rendered "on-the-fly", so writing directly to the global 'document' object does not produce the results you want (i.e., replacing the embedded script within the tiddler content), and instead will //completely replace the entire ~TiddlyWiki document in your browser window (which is clearly not a good thing!)//. In order to allow scripts to use {{{document.write()}}}, the plugin automatically converts and buffers all HTML output so it can be safely inserted into your tiddler content, immediately following the script.
''Note that {{{document.write()}}} can only be used to output "pure HTML" syntax. To produce //wiki-formatted// output, your script should instead return a text value containing the desired wiki-syntax content'', which will then be automatically rendered immediately following the script. If returning a text value is not sufficient for your needs, the plugin also provides an automatically-defined variable, 'place', that gives the script code ''direct access to the //containing DOM element//'' into which the tiddler output is being rendered. You can use this variable to ''perform direct DOM manipulations'' that can, for example:
* generate wiki-formatted output using {{{wikify("...content...",place)}}}
* vary the script's actions based upon the DOM element in which it is embedded
* access 'tiddler-relative' DOM information using {{{story.findContainingTiddler(place)}}}
Note:
''When using an 'onclick' script, the 'place' element actually refers to the onclick //link text// itself, instead of the containing DOM element.'' This permits you to directly reference or modify the link text to reflect any 'stateful' conditions that might set by the script. To refer to the containing DOM element from within an 'onclick' script, you can use "place.parentNode" instead.
<<<
!!!!!Instant "bookmarklets"
<<<
You can also use an 'onclick' link to define a "bookmarklet": a small piece of javascript that can be ''invoked directly from the browser without having to be defined within the current document.'' This allows you to create 'stand-alone' commands that can be applied to virtually ANY TiddlyWiki document... even remotely-hosted documents that have been written by others!! To create a bookmarklet, simply define an 'onclick' script and then grab the resulting link text and drag-and-drop it onto your browser's toolbar (or right-click and use the 'bookmark this link' command to add it to the browser's menu).
Notes:
*When writing scripts intended for use as bookmarklets, due to the ~URI-encoding required by the browser, ''you cannot not use ANY double-quotes (") within the bookmarklet script code.''
*All comments embedded in the bookmarklet script must ''use the fully-delimited {{{/* ... */}}} comment syntax,'' rather than the shorter {{{//}}} comment syntax.
*Most importantly, because bookmarklets are invoked directly from the browser interface and are not embedded within the TiddlyWiki document, there is NO containing 'place' DOM element surrounding the script. As a result, ''you cannot use a bookmarklet to generate dynamic output in your document,'' and using {{{document.write()}}} or returning wiki-syntax text or making reference to the 'place' DOM element will halt the script and report a "Reference Error" when that bookmarklet is invoked.
Please see [[InstantBookmarklets]] for many examples of 'onclick' scripts that can also be used as bookmarklets.
<<<
!!!!!Special reserved function name
<<<
The plugin 'wraps' all inline javascript code inside a function, {{{_out()}}}, so that any return value you provide can be correctly handled by the plugin and inserted into the tiddler. To avoid unpredictable results (and possibly fatal execution errors), this function should never be redefined or called from ''within'' your script code.
<<<
!!!!!$(...) 'shorthand' function
<<<
As described by Dustin Diaz [[here|http://www.dustindiaz.com/top-ten-javascript/]], the plugin defines a 'shorthand' function that allows you to write:
{{{
$(id)
}}}
in place of the normal standard javascript syntax:
{{{
document.getElementById(id)
}}}
This function is provided merely as a convenience for javascript coders that may be familiar with this abbreviation, in order to allow them to save a few bytes when writing their own inline script code.
<<<
!!!!!Examples
<<<
simple dynamic output:
><script show>
document.write("The current date/time is: "+(new Date())+"<br>");
return "link to current user: [["+config.options.txtUserName+"]]\n";
</script>
dynamic output using 'place' to get size information for current tiddler:
><script show>
if (!window.story) window.story=window;
var title=story.findContainingTiddler(place).getAttribute("tiddler");
var size=store.getTiddlerText(title).length;
return title+" is using "+size+" bytes";
</script>
dynamic output from an 'onclick' script, using {{{document.write()}}} and/or {{{return "..."}}}
><script label="click here" show>
document.write("<br>The current date/time is: "+(new Date())+"<br>");
return "link to current user: [["+config.options.txtUserName+"]]\n";
</script>
creating an 'onclick' button/link that accesses the link text AND the containing tiddler:
><script label="click here" title="clicking this link will show an 'alert' box" key="H" show>
if (!window.story) window.story=window;
var txt=place.firstChild.data;
var tid=story.findContainingTiddler(place).getAttribute('tiddler');
alert('Hello World!\nlinktext='+txt+'\ntiddler='+tid);
</script>
dynamically setting onclick link text based on stateful information:
>{{block{
{{{
<script label="click here">
/* toggle "txtSomething" value */
var on=(config.txtSomething=="ON");
place.innerHTML=on?"enable":"disable";
config.txtSomething=on?"OFF":"ON";
return "\nThe current value is: "+config.txtSomething;
</script><script>
/* initialize onclick link text based on current "txtSomething" value */
var on=(config.txtSomething=="ON");
place.lastChild.previousSibling.innerHTML=on?"disable":"enable";
</script>
}}}
<script label="click here">
/* toggle "txtSomething" value */
var on=(config.txtSomething=="ON");
place.innerHTML=on?"enable":"disable";
config.txtSomething=on?"OFF":"ON";
return "\nThe current value is: "+config.txtSomething;
</script><script>
/* initialize onclick link text based on current "txtSomething" value */
var on=(config.txtSomething=="ON");
place.lastChild.innerHTML=on?"enable":"disable";
</script>
}}}
loading a script from a source url:
>http://www.TiddlyTools.com/demo.js contains:
>>{{{function inlineJavascriptDemo() { alert('Hello from demo.js!!') } }}}
>>{{{displayMessage('InlineJavascriptPlugin: demo.js has been loaded');}}}
>note: When using this example on your local system, you will need to download the external script file from the above URL and install it into the same directory as your document.
>
><script src="demo.js" show>
return "inlineJavascriptDemo() function has been defined"
</script>
><script label="click to invoke inlineJavascriptDemo()" key="D" show>
inlineJavascriptDemo();
</script>
<<<
!!!!!Revisions
<<<
2009.02.26 1.9.4 in $(), handle leading '#' on ID for compatibility with JQuery syntax
2008.06.11 1.9.3 added $(...) function as 'shorthand' for document.getElementById()
2008.03.03 1.9.2 corrected fallback declaration of wikifyPlainText() (fixes Safari "parse error")
2008.02.23 1.9.1 in onclick function, use string instead of array for 'bufferedHTML' (fixes IE errors)
2008.02.21 1.9.0 output from 'onclick' scripts (return value or document.write() calls) are now buffered and rendered into into a span following the script. Also, added default 'return false' handling if no return value provided (prevents HREF from being triggered -- return TRUE to allow HREF to be processed). Thanks to Xavier Verges for suggestion and preliminary code.
2008.02.14 1.8.1 added backward-compatibility for use of wikifyPlainText() in TW2.1.3 and earlier
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info tiddler
2007.12.28 1.8.0 added support for key="X" syntax to specify custom access key definitions
2007.12.15 1.7.0 autogenerate URI encoded HREF on links for onclick scripts. Drag links to browser toolbar to create bookmarklets. IMPORTANT NOTE: place is NOT defined when scripts are used as bookmarklets. In addition, double-quotes will cause syntax errors. Thanks to Paul Reiber for debugging and brainstorming.
2007.11.26 1.6.2 when converting "document.write()" function calls in inline code, allow whitespace between "write" and "(" so that "document.write ( foobar )" is properly converted.
2007.11.16 1.6.1 when rendering "onclick scripts", pass label text through wikifyPlainText() to parse any embedded wiki-syntax to enable use of HTML entities or even TW macros to generate dynamic label text.
2007.02.19 1.6.0 added support for title="..." to specify mouseover tooltip when using an onclick (label="...") script
2006.10.16 1.5.2 add newline before closing '}' in 'function out_' wrapper. Fixes error caused when last line of script is a comment.
2006.06.01 1.5.1 when calling wikify() on script return value, pass hightlightRegExp and tiddler params so macros that rely on these values can render properly
2006.04.19 1.5.0 added 'show' parameter to force display of javascript source code in tiddler output
2006.01.05 1.4.0 added support 'onclick' scripts. When label="..." param is present, a button/link is created using the indicated label text, and the script is only executed when the button/link is clicked. 'place' value is set to match the clicked button/link element.
2005.12.13 1.3.1 when catching eval error in IE, e.description contains the error text, instead of e.toString(). Fixed error reporting so IE shows the correct response text. Based on a suggestion by Udo Borkowski
2005.11.09 1.3.0 for 'inline' scripts (i.e., not scripts loaded with src="..."), automatically replace calls to 'document.write()' with 'place.innerHTML+=' so script output is directed into tiddler content. Based on a suggestion by Bradley Meck
2005.11.08 1.2.0 handle loading of javascript from an external URL via src="..." syntax
2005.11.08 1.1.0 pass 'place' param into scripts to provide direct DOM access
2005.11.08 1.0.0 initial release
<<<
!!!Jason Pyper meets Rag "Frecklecrab" Larsson at Timney's
''Ready For Now''
Recorded May 24, 2006 at Timney's
|Jason Pyper |Piano |
|Rag "Frecklecrab" Larsson |Bass |
|Wawa Lekunde |Kalimba, Harmonica |
|The Breathless Brothers |Flutes |
|Gyros Obscourios |Drums |
It is a 12:39 sort of piano - bass blues dialog based on a scheme by Barry Galbraith. A tiny strange intro, the dialog framed by winds and a surprising finis.
We all know Jason Pyper from Burbank, Chicago, the former sneaking around eight years old boy at the places where Charlie "Bird" Parker might appear, and we know he made the best of it. No key he didn't play, no scale and no scheme. We love him.
But what about those other guys?
There is Ragnar "Frecklecrab" Larsson, the younger son of norwegian immigrants, as his nickname says red haired and freckled. Jason and he got together almost twenty years ago at the "Lifetime Club" in Brooklyn. Larsson is enormously sensitive for his partners and almost everyone could hear it. And he has power as much as any of his partners or sometimes even more.
At Timney's occasionally present was the Nigerian Wawa Lekunde, living as a taxi driver at Herne, Germany. He has learned to play the kalimba from his grandfather and he had jammed with Fela Anikulapo Kuti.
Oh, you should know that The Breathless Brothers are fake. It should read Breathless Sisters, but nobody would buy that. They are two shy college girls from Lewistown, Montana, practising along a full year for this gig and getting absolutely no idea what jazz is about. A pity, but it sounds quite interesting: breathless! (Rag got crazy about it and stopped playing meanwhile).
And Gyros? This greekish name marks an inconspicuous tiny north vietnamesian guy of just seventeen years who said his idol is Charlie Watts from the Rolling Stones. Parsimony at its best.
Wow.
Fully recommended I say. Go to fresh up your ears.
So long
Flip
----
Da ist natürlich nichts von wahr!
Sondern?
Die Musik ist im Wesentlichen erzeugt von einem Python-Skript mit weniger als fünfzig Zeilen Code.
Instrumentarium: Quicktime
Intro:
Generator: Pyper (algorithmisch)
Filter: [gleetchLab]
Montage und Mix: Audacity
Dialog:
Generator: Pyper (algorithmisch)
Backing (Drums):
Generator: easybeat (notiert)
Montage und Mix: Audacity
Finis:
Recording: Audacity
Montage und Mix: Audacity
{{small{2005}}}
!!!Katzek
Wie eine Sphinx lag die graugetiegerte Katze auf dem Sitzrand des Sandkastens, die Vorderpfoten ordentlich untergeschlagen, den Schwanz linksherum, soweit er reicht, um den Körper gelegt, den Blick mit freundlichem Ausdruck nach geradeaus gerichtet. Die Sonne schien auf ihre linke Flanke. Als sie bemerkte, dass das kleine Mädchen kommt, begann sie leise zu schnurren.
'Hallo Pussy. Was machst du. Du sollst doch Mäuse fangen und nicht hier faul in der Sonne herumsitzen und brummen.'
Das Mädchen gab ihr einen leichten Klaps mit den angewinkelten Fingern der rechten Hand gegen den Hinterkopf.
Die Katze stand auf, reckte sich lang, mit steil aufgerichtetem Schwanz und weit nach vorn geschobenen Vorderpfoten, gähnte ausgiebig, streckte dann hastig das rechte hintere Bein weit nach vorne und begann an der Innenseite des rechten Oberschenkels mit den Zähnen im Fell herumzugraben. Nach einigen Augenblicken leckte sie das Fell wieder glatt und machte einen Buckel, beugte sich nach vorn und streckte die Hinterbeine weit nach hinten. Der Schwanz gab Navigationssignale. Dann ging sie von dannen. An der Ecke der Terasse drehte sie sich noch einmal kurz um und stolzierte dann unter der Hecke hindurch zum Nachbarn.
Am nächsten morgen kam das Mädchen weinend zur Mutter gelaufen.
'Mutti, Mutti, da liegt eine tote Maus auf der Terasse. Die arme, arme Maus.'
----
{{aName{mail to :}}} {{aValue{<<eMail>>}}}
{{aName{ :}}} {{aValue{Berner Weg 5c}}}
{{aName{ :}}} {{aValue{22393 Hamburg}}}
{{aName{telefon :}}} {{aValue{+4940 600 127 45}}}
{{aName{anrufbeantworter :}}} {{aValue{+4940 600 127 46}}}
----
[img[images/jpg_c/leandlei.jpg]]
[img[images/jpg_c/lärchen.jpg]]
{{small{2002}}}
!!!Mai
Es ist schon lange her. So lange, dass ich heute gar nicht mehr genau weiß, ob ich es selbst erlebt oder geträumt habe. Ich lebte damals vorübergehend in einer mir bis dahin unbekannten Großstadt im Osten. Eines warmen Tages im späten Frühling beschloß ich, mit einer Fähre auf eine Insel in einem dort vorhandenen Binnengewässer zu fahren. Auf der Insel gab es den Anleger, einen Kiosk mit Biergarten, einen kleinen Park, ein naturbelassenes Röhricht, eine Liegewiese und sogar ein wenig Strand. Ich war nicht der Einzige, der an diesem Tage auf diese Idee gekommen war. Die Stadt war groß und die Insel klein. In der Nähe des Strandes auf der Liegewiese fand ich ein kleines Plätzchen, wo ich mich niederlassen konnte. Die Sonne schien, es war warm, es war aber auch etwas trübe, und über dem Gewässer gab es Wind. Ich sah den Booten beim Halsen zu. Unschlüssig, ob ich mein mitgebrachtes Buch lesen oder mir lieber die Stöpsel vom Walkman in die Ohren stecken sollte, schaute ich herum und sah mir die Leute an. Familien mit kleinen oder großen Kindern, Paare, Gruppen von Jugendlichen beiderlei Geschlechts, getrennt oder gemischt, einzelne Personen jeglichen Alters, alles, was in einer Großstadt so vorkommt, direkt rechts neben mir eine junge asiatische Frau. Klein, hübsch, mit ebenmäßigem aber markantem Gesicht mit frecher Kurzhaarfrisur. Sie fummelte umständlich mit den Kabeln von ihren Ohrhörern herum. Jeder hatte hier wohl soetwas bei sich. Ich machte irgendeine Bemerkung dazu, sie schaute mich mit offenem Blick freundlich an, legte ihren Walkman wieder in die Tasche und wir redeten miteinander. Sie sprach ein fast akzentfreies Deutsch. Sie sagte, dass sie Mai heiße, aus Vietnam komme, schon vier Jahre hier sei, bei einer freundlichen Frau namens Winter wohne, gelegentlich Jobs als Dolmetscherin für Vietnamesisch und Chinesisch habe, sich hier in Deutschland sehr wohl fühle und so weiter. Und das in einer Unbefangenheit, die ich nur von manchen wohlbehüteten Kindern fortschrittlich eingestellter Eltern kenne. Irgendwann sprang sie auf, sagte, sie wolle sich ein Eis holen und ob sie mir eins mitbringen solle. Ich rümpfte die Nase und schüttelte den Kopf. Mir war aufgefallen, dass ein großer Teil ihrer rechten Gesichtshälfte, wie soll ich sagen, gemustert, nein, vernarbt war. Wie ein eingetrocknetes Watt, wo der Wind weißen Treibsand in die Furchen zwischen die unregelmäßig geformten grauen unterwölbten Lehmplatten geweht hatte. Wie die Haut eines unbekannten Reptils von einem noch nicht entdeckten Kontinent. Aber schwach nur, auf den ersten Blick gar nicht deutlich erkennbar. Sie kam zurück und leckte ihr Eis. Es wurde wärmer, und wir dösten in der Sonne. Gegen Mittag jedoch zogen graue Wolken auf, und es fing an zu nieseln. Die meisten Leute strömten jetzt zum Anleger, aber die kleine Fähre schaffte das nicht auf einmal. Wir entgingen dem Gedränge am Anleger und wanderten im Nieselregen durch den Park. Unter dem schrägen Stamm einer Buche fanden wir eine trockene Bank. Mai hatte nichts dagegen, dass ich ihre rechte Gesichtshälfte betrachte und auch berühre. Napalm, sagte sie, sie hätte großes Glück gehabt, aber ihre ganze Familie sei verbrannt, ihre Eltern und all ihre Geschwister. Ich nahm sie in die Arme und drückte sie. Später irgendwann, es hatte wieder aufgehört zu nieseln, fanden wir einen Platz auf der Fähre, auf dem Oberdeck. Ich setzte mich und nahm Mai auf den Schoß. In dem Gedränge fiel es nicht auf, dass ich meine rechte Hand unter ihre Bluse schob und ihre linke Brust streichelte. Sie schnurrte leise. Und erst dann bemerkte ich, als ich mit der Linken nach ihrer rechten Hand griff, dass dort keine Hand war. Der Arm war knapp oberhalb des Handgelenks amputiert. Ich erschrak nicht, ich streichelte den Stumpf. Die Haut war glatt und weich, wie die ihrer linken Brust. Warum hatte ich das vorher nicht bemerkt. Sie muss es wohl mit großem Geschick versteckt haben. Sie schnurrte noch ein bisschen, dann löste sie sich von mir, lächelte mich an, machte eine Geste mit den Schultern, die ich nicht verstand, und verschwand nach unten. Später am Anleger hab ich noch geschaut und gewartet, aber ich habe sie nie wiedergesehen. Heute, in der Erinnerung, sind die körperlichen Eindrücke so stark, als hätte ich es wirklich selbst erlebt. Aber vielleicht habe ich es ja nur in der vergangenen Nacht geträumt.
----
<<top>>
{{small{<<today "YYYY 0MM 0DD">>}}}
----
+++!!*[Bild|auf- und zuklappen]
**[[Anblick]]
**[[Einblick]]
**[[Ausblick]]
**[[Durchblick]]
===
+++!!*[Text|auf- und zuklappen]
**[[Fachwerk|http://logofact.de]]
**[[Shorties]]
**[[Gespräche am Tellerrand]]
===
+++!!*[Ton|auf- und zuklappen]
**[[Blue]]
===
+++!!*[Sonst|auf- und zuklappen]
**[[Vita]]
**[[Kontakt]]
**[img[itsMe|images/itsMe.png]]
===
+++!!*[Links|auf- und zuklappen]
**[[DLF Faust in Wümme|https://www.deutschlandfunkkultur.de/als-die-avantgarde-ins-dorf-kam-faust-in-wuemme.3720.de.html?dram:article_id=499300]]
**[[DLF 50 Jahre Faust|https://www.deutschlandfunkkultur.de/50-jahre-faust-debuetaufnahme-polydor-wollte-etwas-wildes.2177.de.html?dram:article_id=503317]]
**[[eclipsed Mythos Faust|https://www.eclipsed.de/de/aktuell/faust-ein-mythos-der-50-jahren-begann]]
**[[monolith coctail|https://monolithcocktail.com/2020/07/13/our-daily-bread-387-gunther-wusthoff-total-digital/]]
**[[backseat mafia|https://www.backseatmafia.com/album-review-gunther-wusthoff-todigital-deep-tronica-from-the-faust-mans-vault/]]
**[[FREQ|https://freq.org.uk/reviews/gunther-wusthoff-total-digital/]]
**[[TAZ Faust Retrospektive|https://taz.de/Retrospektive-von-Krautrockband-Faust/!5805357/]]
**[[psychedelicbabymag|https://www.psychedelicbabymag.com/2022/01/gunther-wusthoff-interview.html]]
**[[LAUT AG|https://www.laut.de/Faust/Alben/1971-1974-117103]]
**[[hhvmag|https://www.hhv-mag.com/de/feature/11860/faust-why-don-t-you-eat-carrots]]
**[[eyeondesign|https://eyeondesign.aiga.org/how-fausts-sleeves-pushed-the-limits-of-record-design/]]
**[[Weiße Schokolade|https://youtu.be/v2Kp0tHKQNc]]
**[[Frontbericht|./2be46d204d1fba0a617fe2520c2cf8a3/frontbericht.pdf]]
/%
**[[gb|./2be46d204d1fba0a617fe2520c2cf8a3/GuBu20220102.zip]]
**[[wd|./2be46d204d1fba0a617fe2520c2cf8a3/sebi1121_q.jpg]]
%/
/%
**[[gb|./2be46d204d1fba0a617fe2520c2cf8a3/looking_back_ahead.aiff]]
**[[wd|./2be46d204d1fba0a617fe2520c2cf8a3/hartes_brot.aiff]]
%/
===
----
<<search>>
{{small{<<closeAll>>}}}
----
{{x{
<<hideWhen readOnly>>
<<toggleSideBar "toggle sideBar" "toggle right sidebar" hide>>
}}}
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml' />
<!--}}}-->
2007 als Präambel der Erzählung "Iris"
Beim Nachdenken über denkwürdige Ereignisse in meinem Leben und meine eigenen Begegnungen mit meinem eigenen Tod stieß ich irgendwann, zunächst sehr bruchstückhaft, später aber immer klarer, auf eine Erinnerung an diese Geschichte. Ein paar Stückchen Bernstein und eine grüne Scherbe in einer kleinen Schachtel, enthalten in einer größeren Zigarrenkiste mit Krimskrams aus meiner Kindheit und Jugend halfen mit dabei. Nun, da mir nichts Neues oder Genaueres mehr dazu einfällt, schreibe ich sie endlich auf.
!!Meeresleuchten
Die Geschichte begab sich in den Sommerferien des Jahres 1960. Ich war damals fünfzehn und in der neunten Klasse. Die beiden Gymnasien für Jungen in Wilhelmshaven betrieben schon seit längerer Zeit das gemeinsame "Inselheim Rüstringen" auf der östlichsten der Ostfriesischen Inseln, auf Wangerooge. Während der Schulzeit fuhren zwischen Pfingst- und Herbstferien die ungeraden Klassen der beiden Schulen abwechselnd für zwei Wochen dorthin. Ich war kurz nach Pfingsten mit meiner und einer Parallelklasse von unserer Schule zum Schultörn in dem Jahr schon dort gewesen. Es hatte mir so gut gefallen, dass ich mich zu einem der beiden Sommerferientörns anmeldete, natürlich mit Erlaubnis und Finanzierung meiner Eltern.
In den Ferien war man dann zusammen mit Schülern des anderen, des humanistisch-neusprachlichen Gymnasiums dort. Ausser dieser Tatsache, und dass noch zwei französische Austauschschüler bei uns waren, gab es überhaupt nichts Aufregendes in der ersten Woche. Die Schülerinnen eines anderen Schullandheims waren ausnahmslos zu alt, die eines weiteren ausnahmslos zu jung, um mein Interesse wecken zu können, und außerdem waren das alles Landratten.
Wenn die anderen Jungen Fußball oder, wenn es regnete, Tischtennis spielten, wanderte ich allein an der Flutlinie entlang, über die Buhnen, oder ich beobachtete Vögel im Binnenland, wie es sich für einen mathematisch-naturwissenschaftlich auszubildenden Schüler gehört.
<<section "Die Begegnung"
Nach dem Mittagessen am Montag der zweiten Woche passierte es dann. Die Sonne schien. Ich balancierte über die Balkenkrone der ~H-Buhne dem ablaufenden Wasser hinterher. Auf halber Strecke sagte plötzlich eine Kinderstimme offensichtlich zu mir:
<<<
[Hinten aus dem Rachen ein langgezogenes offenes]
Oooo, kuck mal.
<<<
Und
<<<
Weißt DU, was das ist?
<<<
Man mag noch so hochmütig sein, aber wenn man direkt angesprochen wird, kann man das schlecht mit Nichtachtung strafen. Ich stieg nach Lee herunter und sah sie dann: ein dünnes Mädchen hockte an einer von der Ebbe zurückgelassenen Lache und hielt einen ziemlich großen, flachen Stein hochgewinkelt, unter dem sie wohl ein Wunder entdeckt hatte. Ich ging über den nassen Sand zu ihr und blickte in das Wasser.
<<<
Was meinst du denn?
Da, das Gelbe mit den Fransen.
Ach das, das ist eine Seenelke.
Seenelke.
<<<
wiederholte sie bedächtig.
<<<
Die blüht aber schön!
Das ist keine Pflanze, das ist eher wie eine Qualle, und die Fransen nennt man Tentakeln.
<<<
Das Mädchen wollte mit der freien Hand ins Wasser fassen.
<<<
Und die sind giftig.
<<<
Ihre Hand zuckte zurück. Dann
<<<
Was hat sie jetzt denn gemacht? Jetzt ist alles weg.
Die hat eine Garnele gefangen und verspeist sie gerade.
Ich hab aber gar keine Garnele gesehen.
Wetten, doch?
Wieso, hast du eine gesehen?
<<<
Sie konnte den Stein nun nicht mehr hochhalten und ließ ihn vorsichtig runter.
<<<
Komm, ich zeig dir, wie Garnelen aussehen.
<<<
Aufgestanden war sie einen halben Kopf kleiner als ich, ziemlich dünn, hatte schulterlange sehr feine blonde Haare, die sich spontan der Windrichtung anpassten, mit Pony und graue Augen, vielleicht mit etwas Grün drin, vielleicht noch Bernstein. Sie trug eine wadenlange gelbe Baumwollhose mit Schlitzen unten und eine blaugemusterte Bluse mit Ubootausschnitt und dreiviertellangen Ärmeln, und sie ging barfuß.
Sie trippelte mit den Füßen, wohl um das gestaute Blut in den Beinen zu bewegen.
<<<
Ich bin Ulli Bokena und wohne bis nächsten Dienstag Morgen da hinten im Wilhelmshavener Schullandheim. Bist du auch in einem Schullandheim?
Nein. Ich bin Silke Weber. Wir sind auf dem Campingplatz. Meine Eltern, mein Bruder und ich.
<<<
Ich ging zu einer anderen Pfütze, die übersichtlicher war. Wir hockten uns beide hin.
<<<
Siehst du das da?
Was meinst du?
<<<
Ich zeigte
<<<
Der dunkle Strich auf dem Sand, da, jetzt bewegt er sich.
Oooo, ist das eine Garnele? Ich dachte, die sind rot.
Nein, das ist nicht die Garnele, das ist ihr Schatten. Und Garnelen sind erst dann rot, wenn man sie gekocht hat.
Welche Farbe haben sie ungekocht?
<<<
Sie guckte mich an.
<<<
Keine, sie sind einfach durchsichtig.
So wie Quallen?
Ja.
Hoffentlich werde ich das nicht!
Was?!
Durchsichtig.
Wirst du nicht.
Was du alles weißt!
Ich bin ja keine Landratte. Und ich war schon ein paar Mal auf der Insel. Sag mal, wo kommst DU eigentlich her?
Aus Anstadt, das ist nicht weit von Hannover. Ich war auch schon mal hier, vor zwei Jahren. Aber da hatte es meistens geregnet. Blöd! Kannst du mir noch mehr solche Sachen zeigen?
Mal sehn. Wir müssen schleichen, bleib einen Schritt hinter mir.
Gut.
<<<
Silke bewegte sich zappelig, und ich gab ihr Zeichen, ruhig zu sein. In der nächsten Pfütze eine nicht ganz perfekt getarnte winzige Scholle.
<<<
Oooo. Eine Scholle.
<<<
In der nächsten Pfütze waren zwei Strandkrabben. Ich packte die größere mit Daumen und Zeigefinger an den vorderen seitlichen Spitzen des Panzers.
<<<
Guck, so können sie dich nicht kneifen.
Oooo. Kann ich das auch mal?
Mach doch, da ist doch noch eine.
<<<
Sie griff erst zu hoch, weil sie die Lichtbrechung im Wasser nicht berücksichtigt hatte. Beim zweiten Mal klappte es aber.
<<<
Juhuuu!
<<<
Sie sprang auf und hüpfte herum, wie eine Bogenlampe das Licht den Krebs hoch haltend. Nach einer Runde Hüpfen tat sie so, als würde sie ihn küssen und ließ ihn zurück in die Pfütze plumpsen.
<<<
Tschüß, Strandkrabbe!
<<<
Einen Taschenkrebs und einen Einsiedler in Wellhornschnecke konnte ich ihr auch noch zeigen, vier oder fünf Seesterne mit vier, viereinhalb oder fünf Armen, einen Seeigel und natürlich jede Menge Miesmuscheln und Strandschnecken.
Die Zeit verging schnell.
<<<
Ich glaube, ich muss jetzt zum Zeltplatz. Schade. Das hat Spaß gemacht mit dir. Sehen wir uns morgen vielleicht?
Mal sehn. Wenn nichts dazwischen kommt.
<<<
Ich sah ihr nach. Erst ging sie, dann hüpfte sie mit Doppelschritten. Am Landende der Buhne hielt sie an, drehte sich um und winkte mir mit beiden Armen zu. Ich winkte mit einem Arm zurück. Was soll ich mit so einem Kind. Keine noch so flüchtige Spur von Weiblichkeit. Ja, mal sehn.>>
<<section "Am Nebelhorn"
Der nächste Vormittag verging langsam, extrem langsam. Kein im Wind wehender Blondschopf weit und breit. Nicht am Strand und nicht hinter den Dünen, auch beim Zeltplatz nicht. Meine systematische Suche verriet mich mir selbst. Ich hatte mich in ein Kind verknallt! Das darf nicht wahr sein.
Aber als ich nach dem Mittagessen über den Bohlenweg ging, sah ich sie. An der Wurzel der ~H-Buhne, dort, von wo sie mir gestern zugewunken hatte. Sie saß mit dem Rücken zu mir auf der Bohlenkrone. So konnte ich mich unauffällig in ihre Nähe bringen.
<<<
Hallo.
Da bist du ja endlich. Ich warte schon eine ganze Zeit auf dich.
Das Mittagessen dauert bei uns eben so lange.
<<<
Sie musste ja nicht unbedingt wissen, dass ich heute Küchendienst hatte.
<<<
Ist nicht schlimm, wenn du eine gute Idee hast, was wir heute machen.
Wir gehen zum Nebelhorn. Dabei kommen wir beim alten Westturm vorbei, dann über Land zurück. Das ist eine gute Nachmittagsportion.
Klingt gut.
Nicht, dass du dir unter dem alten Westturm etwas Tolles vorstellst. Den gibt es nämlich gar nicht mehr.
Aha. Sehr geheimnisvoll. Das mag ich gern.
<<<
Sie reichte mir ihre Hände, ich zog sie runter vom Balken.
<<<
Ich würde gern wissen, wie alt du bist.
Ich bin seit März fünfzehn, und du?
Ich bin seit Mai zwölf. Stier. Klar?
Nein. Meine Mutter ist auch Stier.
<<<
Wir erreichten den Sand und gingen an der Flutgrenze entlang. Ich hob ein Stück Blasentang mit Anhang auf.
<<<
Kuck mal! Ein Katzenhaiei.
Oooo, Ist da noch ein Hai drin?
Nein, leer.
<<<
Sie war richtig aufgeregt vor Neugier, und, ohne dass ihr Kopf oder Oberkörper sich bewegen, hoben sich dreimal blitzschnell nacheinander ihre Füße gleichzeitig bei Beugung beider Knie ungefähr dreißig Zentimeter, Tendenz abnehmend, vom Boden. Danach trippelten sie noch eine Weile. Soetwas hatte sie gestern schon mal gemacht, als sie die Strandkrabbe aus der Pfütze geholt hatte. Ich hatte nicht drauf geachtet. Aber nun. Ich zeigte ihr das Loch.
<<<
Hier ist er raus gekommen.
Ein Katzenhai! Fressen die Menschen?
Selten. Der Mensch müsste schon ziemlich klein sein.
Wie groß werden die?
Menschen oder Katzenhaie?
<<<
Sie knuffte mich gegen den Oberarm.
<<<
Hai, hei?
<<<
Ich zeigte
<<<
So ungefähr.
Hast du mal einen gesehen?
Klar, mehrfach.
Wo.
Im Seewasseraquarium in Wilhelmshaven. Im Panoramabecken ist immer einer. Wenn ihr bei der Heimfahrt die Möglichkeit habt, guckt euch das an! Das lohnt den Eintritt und die Zeit. Da sind auch Seehunde, Hummer und auch Seenelken und Garnelen, sogar Seepferdchen.
Seepferdchen! Das werde ich weiterleiten.
<<<
Zwei Buhnen später.
<<<
Da, diese ziegelroten Teile sind Überreste des alten Westturms. Der stand damals an der relativen Position, wo heute der neue steht.
<<<
Ich zeigte die Richtung. Sehen konnte man ihn von hier aus nicht.
<<<
Die Insel ist unter ihm hinweggewandert. Die Wangerooger haben ihn irgendwann aufgegeben und den neuen gebaut. Schöne Bescherung, was?
Glaubst du an Gott?
Ja. Ich bin Heide. Nicht christlich getauft. Aber ich glaube. Ich glaube, dass kein Papst Stellvertreter Gottes auf Erden sein kann. Wäre es so, würde Gott eine ziemlich fragwürdige Instanz sein. Er müsste sich dieser Person ausliefern. Warum sollte Gott soetwas tun!
Und Luther?
Der hat nichts Schlimmes gemacht. Er hat das erkannt, was ich eben auch gesagt habe. Er hat es nur anders gesagt, weil er an all die anderen Menschen gedacht hat. Was mir sicher erscheint: Gott ist in uns zu finden, nicht außerhalb. Deswegen bin ich wohl eher Buddhist.
Aha. Wie bist du auf diese Gedanken gekommen?
Dass ich nicht getauft bin, war reiner Zufall. Ich stand deshalb nie unter Rechtfertigungsdruck. Wenn mich jemand danach fragt, so wie du eben, dann denke ich darüber nach und finde vielleicht Argumente. Das hat aber nichts mit Glaube zu tun. Glaube ist das Gefühl, sicher zu sein. Und dieses Gefühl habe ich. Jetzt gerade. Und weil DU mich danach gefragt hast. Das kann sich aber bald wieder ändern.
Dann ist Glaube von den Umständen abhängig?
Ich... Ich glaube, ja, sonst würden Geschichten wie die von Hiob keinen Sinn machen.
Das habe ich bisher andersherum gesehen. Dass Glaube nur unerschütterlich sein kann.
Genau nicht. Das würde die Macht des Papstes festigen. Ich sehe das so: alles was ich in Büchern lesen kann, seien sie heilig genannt oder nicht, kann ich als Fragen an mich heranlassen. Als Antworten auf Fragen, die ich selber noch nicht gestellt habe, nützen all diese Bücher gar nichts. Wieso kümmert eine Zwölfjährige die höhere Theologie?
Oooo. Es war einleuchtend, was du gesagt hast. Ich werde auch Buddhist. Wie macht man das?
<<<
Wir lachten. Sie knuffte mit der Oberseite ihrer rechten Hand meinen Oberarm, ich sah die weiße Unterseite ihres Unterarms, und sie rannte weg. Sie hatte das schon einmal gemacht, beim Katzenhai.
<<<
Da ist das Nebelhorn.
Sieht gar nicht aus wie ein Horn.
Tutet aber so. Warts ab, wenn Nebel ist. Du wirst nicht schlafen können in eurem Zelt.
Nicht so schlimm.
<<<
Wir gingen über den Dünenweg, die Bohlen waren nur noch zum Teil sichtbar, vom Sand bedeckt. Als wir über den Kamm kamen blieb sie plötzlich stehen und zog mich zurück. Ich drehte mich zu ihr um und blickte sie fragend an.
<<<
Da unten, meine Eltern und mein Bruder. Die müssen uns nicht zusammen sehen.
Warum nicht?
<<<
Ich ging weiter, wollte ihre Familie sehen. Die wanderten in Richtung Saline.
<<<
Warum so heimlich?
Ach, das würdest du nicht verstehen.
<<<
Unten auf dem Betonweg wandte sie sich nach rechts. Wir gingen schweigend nebeneinander her. Uns begegneten irgendwelche Rotznasen aus dem Wilhelmshavener Heim, die uns anglotzten. Wir ignorierten die.
Beim Zeltplatz fragte Silke:
<<<
Sehen wir uns morgen?
<<<
Ich nickte.
>>
<<section "Am Westanleger"
Ich war an der Stelle, wo wir uns gestern getroffen hatten. Nach zwanzig Minuten kam sie endlich über den Dünenweg beim ~DLRG-Häuschen. Sie versuchte die Sonne zu überstrahlen, als sie näher kam. Sie hatte was Blaues an.
<<<
Hast du gut geschlafen?
Geht. Und du?
Hervorragend. Mein Vater hat geschnarcht wie ein Holzfäller. Was machen wir heute?
<<<
Ich guckte in Richtung Sonne, um zu sehen, ob es noch nicht zu spät ist für die Wanderung zum Westanleger.
Ich zeigte nach Süden.
<<<
Da lang.
Beim Westturm war ich schon.
Weiß ich, ich auch.
Wo willst du mit mir hin?
Bernstein sammeln.
Oooo, Bernstein?
Ja.
<<<
Wir gingen an der Flutgrenze, zuerst am Strand von meinem Schullandheim vorbei, heute beachtete uns niemand, und dann weiter über die große Sandfläche.
<<<
Wo ist Bernstein?
Nicht so ungeduldig! Ich weiß nicht einmal, ob wir überhaupt was finden
werden. Da ganz hinten! Wir gehen zum Westanleger.
Da war ich doch schon!
Mit oder ohne Bernstein?
Ohne.
<<<
Nach hundert Metern Treibgutarchäologie dreht sie sich plötzlich um und trippelt rückwärts vor mir her.
<<<
Sag mal, wo warst du schon überall? Warst du schon mal im Ausland?
Nein, im Ausland noch nicht.
Wo denn?
Äh. Ich muss überlegen.
<<<
Sie wechselt von Trippeln in Hüpfen mit beiden Füßen gleichzeitig und dann wieder zurück ins Trippeln, alles rückwärts.
<<<
Als ich klein war, dreieinhalb oder so, war ich in ~West-Dunum, das ist bei Wittmund. Da, auf dem Festland.
<<<
Ich zeigte nach Südwesten. ~West-Dunum konnte man nicht sehen hinter dem Deich.
<<<
Da lebte die Schwester meiner Mutter mit ihrem Mann, Kinder waren auch da. Ich denke, es ging um das Erbe meines Großvaters. Meine Eltern wollten die Schwester auszahlen. Da war ein Schweinestall und das Wetter war schlecht. Die Wege waren alle matschig.
Wie seid ihr da hingekommen?
Mit dem Bus. Umsteigen in Jever.
<<<
Sie drehte sich wieder um, wir wandten uns nebeneinander gehend beiläufig der Flutgrenze zu, fanden hier und da was, hoben es auf und nahmen es kommentarlos zu Kenntnis. Wie alte Strandläufer eben.
<<<
Was, daran kannst du dich erinnern?
Irgendwie schon.
Und sonst?
Ich war mit sieben in Hamburg. Die ehemaligen Kollegen meines Vaters hatten da das erste Treffen nach dem Krieg.
Wie war das?
Aufregend. Anstrengend.
Wo habt ihr da gewohnt?
Elsässer Hof. An der Langen Reihe, da fuhr noch die Straßenbahn.
Wart ihr auf der Reeperbahn?
Ja, auch, da kann ich mich aber nicht mehr dran erinnern. Einer der Kollegen hat da irgendwo in der Nähe gewohnt. Paulinenplatz oder so.
Und sonst?
Irgendwann später wollte mein Vater mit uns einen von den Kollegen in Bremen besuchen. Wir sind den ganzen Nachmittag kilometerweit über den Weserdeich nach Norden gewandert. Wir haben den nicht gefunden. Dabei war Freimarkt. Da konnten wir dann nicht mehr hin.
Und sonst?
Als mein Onkel und eine seiner Töchter aus Amerika zu Besuch kamen, haben wir sie in Bremerhaven am Flughafen abgeholt. Da hab ich zum erstenmal in einem Restaurant gegessen, Wurstbrot mit saurer Gurke.
Und sonst?
Du nervst. Und du?
Oooo, ich war mal in Hannover, da war ein Schützenfest. Da bin ich Kettenkarussel gefahren und mein Vater hat mir Zuckerwatte gekauft. Mein Bruder hat mir irgendeinen ~Pappmachee-Bären mit schlecht befestigten Bärenhaaren geschossen. Ich hab den noch. Der ist ziemlich zerrupft. Ich glaub, ich sollte ihn endlich wegwerfen.
Warum?
Ballast, sagt der Seemann.
He, was weißt du davon?
Ich war doch vor zwei Jahren schonmal hier. Das hat mir gut gefallen hier.
Deswegen bist du noch lange kein Seemann.
Aye, Sir!
<<<
Silke salutierte phantasiemilitärisch. Ich erwiederte den Gruß, formgerecht, wie ich meinte.
<<<
Rührt euch. Weitermachen.
<<<
Irgendwann kamen wir dort an, wo braune Kügelchen über den feinen Sand rollten.
<<<
Wo uraltes morsches Holz, ist Bernstein.
Hier?
Sehr wahrscheinlich!
Muss ich was machen?
Nein, Bernstein ist von Natur aus leichter als Siliziumoxyd.
Was das?
Sand. Aber schwerer als altes Holz. Und schwerer als Bernstein.
<<<
Sie lachte nicht, blickte mich nur mit gerunzelter Stirn an.
Wir gingen eine ganze Stunde über den Strandbereich und fanden immerhin drei Stücke Bernstein, jeweils in der Größe eines durchschnittlichen Nasenpopels. Und dann in unmittelbarer Nähe des Westanlegers, zwischen den Pfählen, fand Silke ein Stück, so groß wie mein erstes Daumenglied.
Sie sprang laut heulend in alle Richtungen gleichzeitig, hielt das Stück hoch wie vorgestern den Krebs. Als sie wieder zu Atem gekommen war:
<<<
Ist das Bernstein?
Testen.
<<<
Ich rieb und hielt es an die längeren Fasern ihrer blauen Baumwollhose.
Als sich die Fasern streckten, wurde sie plötzlich still.
<<<
Oooo, Bernstein. Was das wohl wert ist?
Fünf Mark, vielleicht zehn?
Was! Mehr nicht?
Lass mal sehn, ob was drin ist.
<<<
Ich hielt es gegen den Himmel.
<<<
Nichts drin. Allerhöchstens zehn.
<<<
Enttäuscht.
<<<
Oooo.
<<<
Wir gingen innen zurück, am Schlick, und später beim Westturm den Betonweg.
Kurz vor dem Eingang zu meinem Heim gab sie mir die vier Bernsteinteile in die Hand.
<<<
Kannst du das bitte für mich aufbewahren?
Wie lange?
Ich sags dir noch.
Klar. Mach ich.
<<<
Den Blick, den sie mir zum Abschied zuwarf, konnte ich nicht deuten.
<<<
Bis übermorgen. Morgen kann ich nicht. Was machen wir dann?
Kannst du denn nachts?
Warum fragst du?
Der Wind lässt nach, es wird wärmer. Wir könnten Meeresleuchten haben.
Oooo, Meeresleuchten? Das hab ich noch nie gesehn.
Wenn du Lust hast?
Wann?
Morgen um Mitternacht?
Mach ich! Mach ich gerne.
Bring ein Handtuch mit und zieh was Warmes an.
Warum!?
Wir werden durch das Meeresleuchten schwimmen.
Ist das gefährlich?
Überhaupt nicht. Es ist wunderbar.
Bis dann. Ich freue mich drauf.
<<<
Die hellblonden Härchen auf ihren inzwischen gebräunten Unterarmen erregten mich.
>>
<<section "Das Meeresleuchten"
Ich schnappte die bereitgelegten Sachen und verschwand in Richtung Klo, äh, Toiletten. Der Fluchtweg war dadurch auf die Querung eines hüfthohen Stacheldrahtzaunes reduziert. Zweimal links und über die Düne, und ich war am Strand. Meine Augen hatten sich inzwischen an die Dunkelheit gewöhnt, und als ich beim ~DLRG-Häuschen nach rechts guckte, sah ich im Dunkel hellblondes Haar flattern.
<<<
Hallo, Silke.
Hallo Ulli.
Komm, wir kucken erstmal, ob wirklich Meeresleuchten ist.
<<<
Wir sprangen nach nordwärts von der Buhne und gingen zur Wasserlinie.
<<<
Siehst du das?
Was!?
Die leuchtenden Punkte um meinen Fuß, wenn ich auftrete.
Oooo. Ja! Leuchten die auch bei mir?
Klar tun sie das.
<<<
Silke sprang regellos über den feuchten Sand. Inzwischen waren ihre Sandalen nass und blinkten.
<<<
Das habe ich noch nie gesehen. Das ist toll. Und wir wollen wirklich da durchschwimmen?
Ja. Lass uns Richtung Nebelhorn gehen.
Was, nicht hier?
Die ~DLRG-Bade- und Schwimmaufsicht funktioniert nach Mitternacht nicht mehr. Wir gehen besser irgendwohin, wo wir möglichst keine Zeugen haben. Ich gönne dieses Vergnügen nicht Jedem.
Ich verstehe.
<<<
Ich suchte uns da, wo man weder das Hammer Landschulheim noch das Nebelhorn sehen konnte, eine Landmarke, es war ein ziemlich großer angetriebener Baumstamm, und wir legten dort unsere Sachen ab und entkleideten uns bis auf die Badesachen. Silke tat fröstelnd, obwohl es warm war, mindestens 20 Grad, wahrscheinlich vor Aufregung.
<<<
Los! Ich kenne die Stelle hier. Es gibt keine Hindernisse im Wasser. Und mach die Augen auf im Wasser.
Mach ich immer.
<<<
Wir rannten und sprangen kopfüber in die glitzernde Flut.
<<<
Oooo.
<<<
Silke zappelte und planschte, bis das ganze Wasser um sie herum eine Lichtwolke war.
<<<
Oooo.
<<<
Nach einer Viertelstunde hatten wir beide genug, und wir stiegen aus dem Wasser. Beim Baumstamm angekommen trockneten wir uns ab. Nun hatten wir Leuchtpunkte auf der Haut, und auch die Handtücher glitzerten. Nochmal:
<<<
Oooo. Sowas hab ich noch nie erlebt.
<<<
Ich fasste sie an und versuchte sie an mich zu ziehen. Sofort hatte ich zwei spitze Ellenbogen in den Rippen. Und auch, wenn die leuchteten:
<<<
Lass das. Mach das nicht wieder.
<<<
Ich dachte: Ist Vernunft die Angst vor Komplikationen?
>>
<<section "Der Abschied"
Am nächsten Nachmittag trafen wir uns schweigend. Wir gingen ziellos. Ich hatte das Gefühl, dass ihre Unbefangenheit sich komplett aufgelöst hatte. Und ich war Schuld dran. Bevor ich das ganz zu Ende gedacht hatte, nahm sie meine Hand und seufzte. Mit einem Seitenblick von unten durch ihre Augenbrauen:
<<<
Ich hab das nicht so gemeint gestern Nacht. Ich hatte mir manchmal schon gewünscht, dass du mich berührst. Vielleicht war es der falsche Zeitpunkt, oder ich war einfach nicht vorbereitet. Irgendwas war schief. Aber dich trifft keine Schuld.
<<<
Wir umarmten und drückten uns. Silke begann leise zu weinen. Nach einer Weile ging ein Ruck durch sie und wir wanderten zurück.
Beim ~DLRG-Häuschen setzten wir uns auf die Strandmauer und ließen die Beine baumeln. Die Klinker waren noch warm, die Sonne hatte sich im Westen allerdings hinter einer schwarzen Wolkenbank verschanzt. Alles, was an Stratocirrhus über uns war, strahlte dottergelb. Das Wasser wird schon bald das Badegelände erreichen.
<<<
Leben deine Großeltern noch?
Nein. Von den Eltern meines Vaters weiß ich nicht viel. Mein Großvater mütterlicherseits ist gestorben, als ich dreieinhalb war. Seine Frau war schon vorher tot.
Und sonst?
Was meinst du?
Ist sonst jemand tot. Geschwister, Cousinen, Cousins. Hast du mal richtig getrauert?
Nein.
<<<
Silke fing an, eine mir unbekannte Melodie zu summen und wiegte ihren Oberkörper im Takt hin und her.
<<<
Schade, dass du morgen nicht mehr hier bist. Behalt den Bernstein.
<<<
Und
<<<
Ich hab schon einmal auf einer solchen Mauer gesessen. Die war nur nicht so warm.
<<<
Sie beugte sich zu mir herüber, machte sich lang und küsste mein rechtes Ohrläppchen, drückte mir etwas in die rechte Hand.
<<<
Damit du an mich denkst. Danke, dass ich mit dir reden konnte und dass du mir zugehört und geantwortet hast. Das war im vierten Stock auf dem Dach unserer Schule. Da habe ich einen Fehler gemacht.
<<<
Sie stieß sich plötzlich mit den Händen ab und sprang. Ich hörte nicht den dumpfen Aufschlag unten im Sand. Auch sah ich keine Silke mehr. Sie war nicht mehr da. Nach einer Weile rappelte ich mich hoch. Vom Schullandheim wurde das Signal zum Abendessen geschlagen.
In meiner Hand war ein vom Meer rohseidenmatt geschliffenes hellgrünes Fensterglas vom alten Westturm, kaum größer als ein Groschen.
Mein Kopf schwirrte, ich taumelte, mein Atem schmeckte bitter. Als ich den Bohlenweg über die Düne ging, konnte ich wieder einigermaßen normal atmen. Beim Abendessen hat mir niemand etwas angemerkt.
>>
<<section "Abendrot"
Ansage nach dem Essen:
<<<
Der Tischdienst macht jetzt Klarschiff und in zwanzig Minuten treffen wir uns wieder hier zum Abschlussabend.
<<<
Ich drängelte mich durch die Menge zum 1WO, nuschelte was, wie nochmalebenlos und abschiednehmen und gleichwiederda.
<<<
Ja, klar, geh man. Aber nachher musst du dafür'n Witz erzähln.
Klar, mach ich.
<<<
Zu nichts Anderem war mir gerade zu Mute.
Ich ging zum Zeltplatz. An dem großen derben Tisch mit den festgeschraubten derben Bänken saßen noch einige Leute und aßen, unter anderem die Webers. Heinz guckte mich an wie einen Hochstapler. Bin ich nicht.
<<<
Guten Abend, sind sie die Familie Weber?
Ja.
Mein Name ist Ulli Bokena.
Ja?
Ich habe ungefähr vor einer Woche eine Silke Weber an der ~H-Buhne kennengelernt. Wir haben über Gott und die Welt, über Leben und Tod geredet.
<<<
Ich traute mich jetzt! Blickte die Mutter an.
<<<
Ein bezauberndes Mädchen. Graue Augen, mit dunkelgrün und bernstein.
<<<
Sie winkelte bedauernd ihren Kopf hin und her.
<<<
Wie meine.
Gewiss!
Waren sie vor zwei Jahren auch hier?
Meinen sie in den Sommerferien?
Ja.
Nein, ich bin jetzt zum ersten Mal in den Sommerferien hier. Vorher war ich nur in Schultörns. Ihre Tochter sagte mir zuletzt, dass sie einen Fehler gemacht hatte, als sie vom Dach der Schule sprang.
<<<
Heinz, der Sohn, mischte sich ein, energisch:
<<<
Warum...
Lass man, Heinz. Wir wissen das doch und sollten Herrn Bokena die Wahrheit sagen. Ähmhhrm. Nicht sie hat den Fehler gemacht, sondern wir. Was, Mutter?
Ja, wir...
<<<
Sie fing an zu weinen.
Vater Weber sprach.
<<<
Vor zwei Jahren, als wir von den Ferien nach Hause kamen, bemerkten wir, dass sich unsere Tochter verändert hatte. Sie war still geworden. In sich gekehrt. Später manchmal auch ausfallend, ja, geradezu jähzornig geworden. Ärzte haben sie untersucht.
Haben die was gefunden?
Ja. Innendrin im Hirn, im Limbischen System, einen Tumor.
Haben sie ihr das gesagt?
Nein. Der Arzt hatte abgeraten. Wir hätten ihr das sagen sollen, was, Mutter?
Ja. Es war unser Fehler, nicht ihrer. Sie hätte es erfahren sollen. Sie muß solche Schmerzen gehabt haben.
Sagen sie, war Silke zehn oder zwölf, als sie sie trafen?
<<<
Ich zeigte
<<<
So groß. Eher zwölf. Ich bin in sie verliebt, platonisch. Ich werde dieses Mädchen nie vergessen in meinem Leben.
Es ist gut, dass sie zu uns gekommen sind und mit uns gesprochen haben. Wir danken ihnen dafür, Herr Bokena.
<<<
Die Stratocirrhus waren jetzt glutrot gefärbt.
>>
Natürlich ging ich zum Abschlussabend und erzählte den Witz, ich weiß nicht mehr welchen. Die, die immer lachen, haben gelacht. Die, die nie lachen, haben nicht gelacht. Wie immer.
Mich hat bisher nie wieder eine Tote aufs Ohrläppchen geküsst, mich hatte zuvor nie eine fremde erwachsene Person mit "Herr Bokena" angeredet, und ich hab bis heute nie wieder einen Witz erzählt. Eine traurige Geschichte. Oder?
----
[img[images/jpg_c/nach_patagonien.jpg]]
[img[images/jpg_c/neon.jpg]]
/***
|Name|NestedSlidersPlugin|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|show content in nest-able sliding/floating panels, without creating separate tiddlers for each panel's content|
!!!!!Documentation
>see [[NestedSlidersPluginInfo]]
!!!!!Configuration
<<<
<<option chkFloatingSlidersAnimate>> allow floating sliders to animate when opening/closing
>Note: This setting can cause 'clipping' problems in some versions of InternetExplorer.
>In addition, for floating slider animation to occur you must also allow animation in general (see [[AdvancedOptions]]).
<<<
!!!!!Revisions
<<<
2008.11.15 - 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
|please see [[NestedSlidersPluginInfo]] for additional revision details|
2005.11.03 - 1.0.0 initial public release. Thanks to RodneyGomes, GeoffSlocock, and PaulPetterson for suggestions and experiments.
<<<
!!!!!Code
***/
//{{{
version.extensions.NestedSlidersPlugin= {major: 2, minor: 4, revision: 9, date: new Date(2008,11,15)};
// options for deferred rendering of sliders that are not initially displayed
if (config.options.chkFloatingSlidersAnimate===undefined)
config.options.chkFloatingSlidersAnimate=false; // avoid clipping problems in IE
// default styles for 'floating' class
setStylesheet(".floatingPanel { position:absolute; z-index:10; padding:0.5em; margin:0em; \
background-color:#eee; color:#000; border:1px solid #000; text-align:left; }","floatingPanelStylesheet");
// if removeCookie() function is not defined by TW core, define it here.
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
config.formatters.push( {
name: "nestedSliders",
match: "\\n?\\+{3}",
terminator: "\\s*\\={3}\\n?",
lookahead: "\\n?\\+{3}(\\+)?(\\([^\\)]*\\))?(\\!*)?(\\^(?:[^\\^\\*\\@\\[\\>]*\\^)?)?(\\*)?(\\@)?(?:\\{\\{([\\w]+[\\s\\w]*)\\{)?(\\[[^\\]]*\\])?(\\[[^\\]]*\\])?(?:\\}{3})?(\\#[^:]*\\:)?(\\>)?(\\.\\.\\.)?\\s*",
handler: function(w)
{
lookaheadRegExp = new RegExp(this.lookahead,"mg");
lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart)
{
var defopen=lookaheadMatch[1];
var cookiename=lookaheadMatch[2];
var header=lookaheadMatch[3];
var panelwidth=lookaheadMatch[4];
var transient=lookaheadMatch[5];
var hover=lookaheadMatch[6];
var buttonClass=lookaheadMatch[7];
var label=lookaheadMatch[8];
var openlabel=lookaheadMatch[9];
var panelID=lookaheadMatch[10];
var blockquote=lookaheadMatch[11];
var deferred=lookaheadMatch[12];
// location for rendering button and panel
var place=w.output;
// default to closed, no cookie, no accesskey, no alternate text/tip
var show="none"; var cookie=""; var key="";
var closedtext=">"; var closedtip="";
var openedtext="<"; var openedtip="";
// extra "+", default to open
if (defopen) show="block";
// cookie, use saved open/closed state
if (cookiename) {
cookie=cookiename.trim().slice(1,-1);
cookie="chkSlider"+cookie;
if (config.options[cookie]==undefined)
{ config.options[cookie] = (show=="block") }
show=config.options[cookie]?"block":"none";
}
// parse label/tooltip/accesskey: [label=X|tooltip]
if (label) {
var parts=label.trim().slice(1,-1).split("|");
closedtext=parts.shift();
if (closedtext.substr(closedtext.length-2,1)=="=")
{ key=closedtext.substr(closedtext.length-1,1); closedtext=closedtext.slice(0,-2); }
openedtext=closedtext;
if (parts.length) closedtip=openedtip=parts.join("|");
else { closedtip="show "+closedtext; openedtip="hide "+closedtext; }
}
// parse alternate label/tooltip: [label|tooltip]
if (openlabel) {
var parts=openlabel.trim().slice(1,-1).split("|");
openedtext=parts.shift();
if (parts.length) openedtip=parts.join("|");
else openedtip="hide "+openedtext;
}
var title=show=='block'?openedtext:closedtext;
var tooltip=show=='block'?openedtip:closedtip;
// create the button
if (header) { // use "Hn" header format instead of button/link
var lvl=(header.length>5)?5:header.length;
var btn = createTiddlyElement(createTiddlyElement(place,"h"+lvl,null,null,null),"a",null,buttonClass,title);
btn.onclick=onClickNestedSlider;
btn.setAttribute("href","javascript:;");
btn.setAttribute("title",tooltip);
}
else
var btn = createTiddlyButton(place,title,tooltip,onClickNestedSlider,buttonClass);
btn.innerHTML=title; // enables use of HTML entities in label
// set extra button attributes
btn.setAttribute("closedtext",closedtext);
btn.setAttribute("closedtip",closedtip);
btn.setAttribute("openedtext",openedtext);
btn.setAttribute("openedtip",openedtip);
btn.sliderCookie = cookie; // save the cookiename (if any) in the button object
btn.defOpen=defopen!=null; // save default open/closed state (boolean)
btn.keyparam=key; // save the access key letter ("" if none)
if (key.length) {
btn.setAttribute("accessKey",key); // init access key
btn.onfocus=function(){this.setAttribute("accessKey",this.keyparam);}; // **reclaim** access key on focus
}
btn.setAttribute("hover",hover?"true":"false");
btn.onmouseover=function(ev) {
// optional 'open on hover' handling
if (this.getAttribute("hover")=="true" && this.sliderPanel.style.display=='none') {
document.onclick.call(document,ev); // close transients
onClickNestedSlider(ev); // open this slider
}
// mouseover on button aligns floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this,this.sliderPanel);
}
// create slider panel
var panelClass=panelwidth?"floatingPanel":"sliderPanel";
if (panelID) panelID=panelID.slice(1,-1); // trim off delimiters
var panel=createTiddlyElement(place,"div",panelID,panelClass,null);
panel.button = btn; // so the slider panel know which button it belongs to
btn.sliderPanel=panel; // so the button knows which slider panel it belongs to
panel.defaultPanelWidth=(panelwidth && panelwidth.length>2)?panelwidth.slice(1,-1):"";
panel.setAttribute("transient",transient=="*"?"true":"false");
panel.style.display = show;
panel.style.width=panel.defaultPanelWidth;
panel.onmouseover=function(event) // mouseover on panel aligns floater position with button
{ if (window.adjustSliderPos) window.adjustSliderPos(this.parentNode,this.button,this); }
// render slider (or defer until shown)
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
if ((show=="block")||!deferred) {
// render now if panel is supposed to be shown or NOT deferred rendering
w.subWikify(blockquote?createTiddlyElement(panel,"blockquote"):panel,this.terminator);
// align floater position with button
if (window.adjustSliderPos) window.adjustSliderPos(place,btn,panel);
}
else {
var src = w.source.substr(w.nextMatch);
var endpos=findMatchingDelimiter(src,"+++","===");
panel.setAttribute("raw",src.substr(0,endpos));
panel.setAttribute("blockquote",blockquote?"true":"false");
panel.setAttribute("rendered","false");
w.nextMatch += endpos+3;
if (w.source.substr(w.nextMatch,1)=="\n") w.nextMatch++;
}
}
}
}
)
function findMatchingDelimiter(src,starttext,endtext) {
var startpos = 0;
var endpos = src.indexOf(endtext);
// check for nested delimiters
while (src.substring(startpos,endpos-1).indexOf(starttext)!=-1) {
// count number of nested 'starts'
var startcount=0;
var temp = src.substring(startpos,endpos-1);
var pos=temp.indexOf(starttext);
while (pos!=-1) { startcount++; pos=temp.indexOf(starttext,pos+starttext.length); }
// set up to check for additional 'starts' after adjusting endpos
startpos=endpos+endtext.length;
// find endpos for corresponding number of matching 'ends'
while (startcount && endpos!=-1) {
endpos = src.indexOf(endtext,endpos+endtext.length);
startcount--;
}
}
return (endpos==-1)?src.length:endpos;
}
//}}}
//{{{
window.onClickNestedSlider=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
while (theTarget && theTarget.sliderPanel==undefined) theTarget=theTarget.parentNode;
if (!theTarget) return false;
var theSlider = theTarget.sliderPanel;
var isOpen = theSlider.style.display!="none";
// if SHIFT-CLICK, dock panel first (see [[MoveablePanelPlugin]])
if (e.shiftKey && config.macros.moveablePanel) config.macros.moveablePanel.dock(theSlider,e);
// toggle label
theTarget.innerHTML=isOpen?theTarget.getAttribute("closedText"):theTarget.getAttribute("openedText");
// toggle tooltip
theTarget.setAttribute("title",isOpen?theTarget.getAttribute("closedTip"):theTarget.getAttribute("openedTip"));
// deferred rendering (if needed)
if (theSlider.getAttribute("rendered")=="false") {
var place=theSlider;
if (theSlider.getAttribute("blockquote")=="true")
place=createTiddlyElement(place,"blockquote");
wikify(theSlider.getAttribute("raw"),place);
theSlider.setAttribute("rendered","true");
}
// show/hide the slider
if(config.options.chkAnimate && (!hasClass(theSlider,'floatingPanel') || config.options.chkFloatingSlidersAnimate))
anim.startAnimating(new Slider(theSlider,!isOpen,e.shiftKey || e.altKey,"none"));
else
theSlider.style.display = isOpen ? "none" : "block";
// reset to default width (might have been changed via plugin code)
theSlider.style.width=theSlider.defaultPanelWidth;
// align floater panel position with target button
if (!isOpen && window.adjustSliderPos) window.adjustSliderPos(theSlider.parentNode,theTarget,theSlider);
// if showing panel, set focus to first 'focus-able' element in panel
if (theSlider.style.display!="none") {
var ctrls=theSlider.getElementsByTagName("*");
for (var c=0; c<ctrls.length; c++) {
var t=ctrls[c].tagName.toLowerCase();
if ((t=="input" && ctrls[c].type!="hidden") || t=="textarea" || t=="select")
{ try{ ctrls[c].focus(); } catch(err){;} break; }
}
}
var cookie=theTarget.sliderCookie;
if (cookie && cookie.length) {
config.options[cookie]=!isOpen;
if (config.options[cookie]!=theTarget.defOpen) window.saveOptionCookie(cookie);
else window.removeCookie(cookie); // remove cookie if slider is in default display state
}
// prevent SHIFT-CLICK from being processed by browser (opens blank window... yuck!)
// prevent clicks *within* a slider button from being processed by browser
// but allow plain click to bubble up to page background (to close transients, if any)
if (e.shiftKey || theTarget!=resolveTarget(e))
{ e.cancelBubble=true; if (e.stopPropagation) e.stopPropagation(); }
Popup.remove(); // close open popup (if any)
return false;
}
//}}}
//{{{
// click in document background closes transient panels
document.nestedSliders_savedOnClick=document.onclick;
document.onclick=function(ev) { if (!ev) var ev=window.event; var target=resolveTarget(ev);
if (document.nestedSliders_savedOnClick)
var retval=document.nestedSliders_savedOnClick.apply(this,arguments);
// if click was inside a popup... leave transient panels alone
var p=target; while (p) if (hasClass(p,"popup")) break; else p=p.parentNode;
if (p) return retval;
// if click was inside transient panel (or something contained by a transient panel), leave it alone
var p=target; while (p) {
if ((hasClass(p,"floatingPanel")||hasClass(p,"sliderPanel"))&&p.getAttribute("transient")=="true") break;
p=p.parentNode;
}
if (p) return retval;
// otherwise, find and close all transient panels...
var all=document.all?document.all:document.getElementsByTagName("DIV");
for (var i=0; i<all.length; i++) {
// if it is not a transient panel, or the click was on the button that opened this panel, don't close it.
if (all[i].getAttribute("transient")!="true" || all[i].button==target) continue;
// otherwise, if the panel is currently visible, close it by clicking it's button
if (all[i].style.display!="none") window.onClickNestedSlider({target:all[i].button})
if (!hasClass(all[i],"floatingPanel")&&!hasClass(all[i],"sliderPanel")) all[i].style.display="none";
}
return retval;
};
//}}}
//{{{
// adjust floating panel position based on button position
if (window.adjustSliderPos==undefined) window.adjustSliderPos=function(place,btn,panel) {
if (hasClass(panel,"floatingPanel") && !hasClass(panel,"undocked")) {
// see [[MoveablePanelPlugin]] for use of 'undocked'
var rightEdge=document.body.offsetWidth-1;
var panelWidth=panel.offsetWidth;
var left=0;
var top=btn.offsetHeight;
if (place.style.position=="relative" && findPosX(btn)+panelWidth>rightEdge) {
left-=findPosX(btn)+panelWidth-rightEdge; // shift panel relative to button
if (findPosX(btn)+left<0) left=-findPosX(btn); // stay within left edge
}
if (place.style.position!="relative") {
var left=findPosX(btn);
var top=findPosY(btn)+btn.offsetHeight;
var p=place; while (p && !hasClass(p,'floatingPanel')) p=p.parentNode;
if (p) { left-=findPosX(p); top-=findPosY(p); }
if (left+panelWidth>rightEdge) left=rightEdge-panelWidth;
if (left<0) left=0;
}
panel.style.left=left+"px"; panel.style.top=top+"px";
}
}
//}}}
//{{{
// TW2.1 and earlier:
// hijack Slider stop handler so overflow is visible after animation has completed
Slider.prototype.coreStop = Slider.prototype.stop;
Slider.prototype.stop = function()
{ this.coreStop.apply(this,arguments); this.element.style.overflow = "visible"; }
// TW2.2+
// hijack Morpher stop handler so sliderPanel/floatingPanel overflow is visible after animation has completed
if (version.major+.1*version.minor+.01*version.revision>=2.2) {
Morpher.prototype.coreStop = Morpher.prototype.stop;
Morpher.prototype.stop = function() {
this.coreStop.apply(this,arguments);
var e=this.element;
if (hasClass(e,"sliderPanel")||hasClass(e,"floatingPanel")) {
// adjust panel overflow and position after animation
e.style.overflow = "visible";
if (window.adjustSliderPos) window.adjustSliderPos(e.parentNode,e.button,e);
}
};
}
//}}}
/***
|Name|NestedSlidersPluginInfo|
|Source|http://www.TiddlyTools.com/#NestedSlidersPlugin|
|Documentation|http://www.TiddlyTools.com/#NestedSlidersPluginInfo|
|Version|2.4.9|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|documentation|
|Description|documentation for NestedSlidersPlugin|
This plugin adds new wiki syntax for embedding 'slider' panels directly into tiddler content.
!!!!!Usage
<<<
//{{{
++++(cookiename)!!!!!^width^*@{{class{[label=key|tooltip][altlabel|alttooltip]}}}#panelID:>...
content goes here
===
//}}}
* ''"""+++""" (or """++++""") and """==="""''<br>marks the start and end of the slider definition, respectively. When the extra {{{+}}} is used, the slider will be open when initially displayed.
* ''"""(cookiename)"""''<br>saves the slider opened/closed state, and restores this state whenever the slider is re-rendered.
* ''"""! through !!!!!"""''<br>displays the slider label using a formatted headline (Hn) style instead of a button/link style
* ''"""^width^ (or just ^)"""''<br>makes 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)
* ''"""*"""''<br>denotes "transient display": when a click occurs elsewhere in the document, the slider/floating panel will be automatically closed. This is useful for creating 'pulldown menus' that automatically go away after they are used. //Note: using SHIFT-click on a slider label will open/close that slider without triggering the automatic closing of any transient slider panels that are currently displayed, permitting ''temporary'' display of several transient panels at once.//
* ''"""@"""''<br>denotes "open on hover": the slider/floating panel will be automatically opened as soon as the mouse moves over the slider label, without requiring a click.
* ''"""{{class{[label=key|tooltip][altlabel|alttooltip]}}}"""''<br>uses label/tooltip/accesskey. """{{class{...}}}""", """=key""", """|tooltip""" and """[altlabel|alttooltip]""" are optional. 'class' is any valid CSS class name, used to style the slider label text. 'key' must be a ''single letter only''. altlabel/alttooltip specify alternative label/tooltip for use when slider/floating panel is displayed. //Note: you can use HTML syntax within the label text to include HTML entities (e.g., {{{»}}} (») or {{{►}}} (►), or even embedded images (e.g., {{{<img src="images/eric3.gif">}}}).//
* ''"""#panelID:"""''<br>defines a unique DOM element ID that is assigned to the panel element used to display the slider content. This ID can then be used later to reposition the panel using the {{{<<DOM move id>>}}} macro (see [[DOMTweaksPlugin]]), or to access/modify the panel element through use of {{{document.getElementById(...)}}}) javascript code in a plugin or inline script.
* ''""">"""''<br>automatically adds blockquote formatting to slider content
* ''"""..."""''<br>defers rendering of closed sliders until the first time they are opened.
Notes:
*You can 'nest' sliders as deep as you like (see complex nesting example below), so that expandable 'tree-like' hierarchical displays can be created.
*Deferred rendering (...) can be used to offset processing overhead until actually needed. However, this may produce unexpected results in some cases. Use with care.
* To make slider definitions easier to read and recognize when editing a tiddler, newlines immediately following the 'start slider' or preceding the 'end slider' sequences are automatically supressed so that excess whitespace is eliminated from the output.
<<<
!!!!!Examples
<<<
simple in-line slider:
{{{
+++content===
}}}
+++content===
----
use a custom label and tooltip:
{{{
+++[label|tooltip]content===
}}}
+++[label|tooltip]content===
----
content automatically blockquoted:
{{{
+++>content===
}}}
+++>content===
----
all options (except cookie) //(default open, heading, sized floater, transient, open on hover, class, label/tooltip/key, blockquoted, deferred)//
{{{
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
}}}
++++!!!^30em^*@{{big{[label=Z|click or press Alt-Z to open]}}}>...
content
===
----
complex nesting example:
{{{
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
}}}
+++[get info...=I|click for information or press Alt-I]
put some general information here,
plus a floating panel with more specific info:
+++^10em^[view details...|click for details]
put some detail here, which could in turn contain a transient panel,
perhaps with a +++^25em^*[glossary definition]explaining technical terms===
===
===
----
embedded image as slider button
{{{
+++[<img src=images/eric3.gif>|click me!]>
{{big{OUCH!}}}
===
}}}
+++[<img src=images/eric3.gif>|click me!]>
{{big{OUCH!}}}
===
<<<
!!!!!Revisions
<<<
2008.11.15 2.4.9 in adjustNestedSlider(), don't make adjustments if panel is marked as 'undocked' (CSS class). In onClickNestedSlider(), SHIFT-CLICK docks panel (see [[MoveablePanelPlugin]])
2008.11.13 2.4.8 in document.onclick(), if transient panel is not a sliderPanel or floatingPanel, hide it via CSS
2008.10.05 2.4.7 in onClickNestedSlider(), added try/catch around focus() call to prevent IE error if input field being focused on is currently not visible.
2008.09.07 2.4.6 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.06.07 2.4.5 in 'onmouseover' handler for 'open on hover' slider buttons, use call() method when invoking document.onclick function (avoids error in IE)
2008.06.07 2.4.4 changed default for chkFloatingSlidersAnimate to FALSE to avoid clipping problem on some browsers (IE). Updated Morpher hijack (again) to adjust regular sliderPanel styles as well as floatingPanel styles.
2008.05.07 2.4.3 updated Morpher hijack to adjust floatingPanel styles after animation without affecting other animated elements (i.e. popups). Also, updated adjustSliderPos() to account for scrollwidth and use core findWindowWidth().
2008.04.02 2.4.2 in onClickNestedSlider, handle clicks on elements contained //within// slider buttons (e.g., when using HTML to display an image as a slider button).
2008.04.01 2.4.1 open on hover also triggers document.onclick to close other transient sliders
2008.04.01 2.4.0 re-introduced 'open on hover' feature using "@" symbol
2008.03.26 2.3.5 in document.onclick(), if click is in popup, don't dismiss transient panel (if any)
2008.01.08 [*.*.*] plugin size reduction: documentation moved to ...Info tiddler
2007.12.28 2.3.4 added hijack for Animator.prototype.startAnimating(). Previously, the plugin code simply set the overflow to "visible" after animation. This code tweak corrects handling of elements that were styled with overflow=hidden/auto/scroll before animation by saving the overflow style and then restoring it after animation has completed.
2007.12.17 2.3.3 use hasClass() instead of direct comparison to test for "floatingPanel" class. Allows floating panels to have additional classes assigned to them (i.e., by AnimationEffectsPlugin).
2007.11.14 2.3.2 in onClickNestedSlider(), prevent SHIFT-click events from opening a new, empty browser window by setting "cancelBubble=true" and calling "stopPropagation()". Note: SHIFT-click is still processed as a normal click (i.e., it toggles the slider panel display). Also, using SHIFT-click will prevent 'transient' sliders from being automatically closed when another slider is opened, allowing you to *temporarily* display several transient sliders at once.
2007.07.26 2.3.1 in document.onclick(), propagate return value from hijacked core click handler to consume OR bubble up click as needed. Fixes "IE click disease", whereby nearly every mouse click causes a page transition.
2007.07.20 2.3.0 added syntax for setting panel ID (#panelID:). This allows individual slider panels to be repositioned within tiddler content simply by giving them a unique ID and then moving them to the desired location using the {{{<<DOM move id>>}}} macro.
2007.07.19 2.2.0 added syntax for alttext and alttip (button label and tooltip to be displayed when panel is open)
2007.07.14 2.1.2 corrected use of 'transient' attribute in IE to prevent (non-recursive) infinite loop
2007.07.12 2.1.0 replaced use of "*" for 'open/close on rollover' (which didn't work too well). "*" now indicates 'transient' panels that are automatically closed if a click occurs somewhere else in the document. This permits use of nested sliders to create nested "pulldown menus" that automatically disappear after interaction with them has been completed. Also, in onClickNestedSlider(), use "theTarget.sliderCookie", instead of "this.sliderCookie" to correct cookie state tracking when automatically dismissing transient panels.
2007.06.10 2.0.5 add check to ensure that window.adjustSliderPanel() is defined before calling it (prevents error on shutdown when mouse event handlers are still defined)
2007.05.31 2.0.4 add handling to invoke adjustSliderPanel() for onmouseover events on slider button and panel. This allows the panel position to be re-synced when the button position shifts due to changes in unrelated content above it on the page. (thanks to Harsha for bug report)
2007.03.30 2.0.3 added chkFloatingSlidersAnimate (default to FALSE), so that slider animation can be disabled independent of the overall document animation setting (avoids strange rendering and focus problems in floating panels)
2007.03.01 2.0.2 for TW2.2+, hijack Morpher.prototype.stop so that "overflow:hidden" can be reset to "overflow:visible" after animation ends
2007.03.01 2.0.1 in hijack for Slider.prototype.stop, use apply() to pass params to core function
2006.07.28 2.0.0 added custom class syntax around label/tip/key syntax: {{{{{classname{[label=key|tip]}}}}}}
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.
2006.06.29 1.9.2 in onClickNestedSlider(), when setting focus to first control, skip over type="hidden"
2006.06.22 1.9.1 added panel.defaultPanelWidth to save requested panel width, even after resizing has changed the style value
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
2006.05.09 1.8.0 in onClickNestedSlider(), when showing panel, set focus to first child input/textarea/select element
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
2006.02.16 1.7.7 corrected deferred rendering to account for use-case where show/hide state is tracked in a cookie
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)
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
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.
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.
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
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.
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)
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)
2005.12.15 1.6.1 added optional "..." syntax to invoke deferred ('lazy') rendering for initially hidden sliders
removed checkbox option for 'global' application of lazy sliders
2005.11.25 1.6.0 added optional handling for 'lazy sliders' (deferred rendering for initially hidden sliders)
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.
2005.11.20 1.5.0 added (cookiename) syntax for optional tracking and restoring of slider open/close state
2005.11.11 1.4.0 added !!!!! syntax to render slider label as a header (Hn) style instead of a button/link style
2005.11.07 1.3.0 removed alternative syntax {{{(((}}} and {{{)))}}} (so they can be used by other formatting extensions) and simplified/improved regular expressions to trim multiple excess newlines
2005.11.05 1.2.1 changed name to NestedSlidersPlugin
2005.11.04 1.2.0 added alternative character-mode syntax {{{(((}}} and {{{)))}}}
tweaked "eat newlines" logic for line-mode {{{+++}}} and {{{===}}} syntax
2005.11.03 1.1.1 fixed toggling of default tooltips ("more..." and "less...") when a non-default button label is used. code cleanup, added documentation
2005.11.03 1.1.0 changed delimiter syntax from {{{(((}}} and {{{)))}}} to {{{+++}}} and {{{===}}}. changed name to EasySlidersPlugin
2005.11.03 1.0.0 initial public release
<<<
Story.prototype.coreLewcidDisplayTiddler=Story.prototype.displayTiddler ;
Story.prototype.displayTiddler =
function(srcElement,title,template,unused1,unused2,animate,slowly)
{
var srcElement=null;
if (document.getElementById(this.idPrefix + title))
{story.closeTiddler(title);}
this.coreLewcidDisplayTiddler(srcElement,title,template,unused1,unused2,animate,slowly);
window.scrollTo(0,0);
}
config.options.chkAnimate = false
config.options.txtUserName = "Gunther Wüsthoff";
config.options.chkSaveBackups = true;
config.options.chkAutoSave = true;
<!--{{{-->
<div class='header' macro='gradient vert #fff #eff #cff #cff #cff #cff #cff #cff #cff #dff #8ee #066'>
<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='macro' force='true' macro='slider chkSideBarTabs SideBarTabs "Index »" "zeige Liste der Tiddler"'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<div id='foot' refresh='content' tiddler='foot'></div>
<!--}}}-->
/***
|''Name:''|PhotoGalleryPlugin|
|''Description:''|A photo gallery with optional subtitles|
|''Author:''|Paulo Soares|
|''Version:''|1.3.0|
|''Date:''|2011-04-25|
|''Source:''|http://www.math.ist.utl.pt/~psoares/addons.html|
|''Documentation:''|See the examples|
|''License:''|[[Creative Commons Attribution-Share Alike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.5.0|
***/
//{{{
if(!version.extensions.photoGalleryPlugin) { //# ensure that the plugin is only installed once
version.extensions.photoGalleryPlugin = {installed: true};
(function($) {
config.macros.photoGallery = {};
config.macros.photoGallery.handler= function(place,macroName,params,wikifier,paramString,tiddler) {
var i, args = paramString.parseParams(null,null,false);
this.url = getParam(args,"url","*");
this.sequence = getParam(args,"sequence",null);
var height = getParam(args,"height",null);
var width = getParam(args,"width",null);
this.time = parseFloat(getParam(args,"time",0));
this.start = parseFloat(getParam(args,"start",-1));
this.labels = getParam(args,"labels",null);
this.numbers = ($.inArray('numbers',paramString.readMacroParams()) > -1);
if(!this.sequence){return false;}
if(this.sequence=="!"){
var lines = paramString.split("\n");
if(lines.length>1){
lines.pop();
lines.shift();
} else {return false;}
this.sequence = lines;
} else {
this.sequence = this.parseSequence(this.sequence);
}
this.nImages = this.sequence.length;
this.current = 0;
if(!store.tiddlerExists(this.labels)) this.labels = null;
if(this.labels) this.labelsArray = store.getTiddlerText(this.labels).split("\n");
var pictureHolder = document.createElement('center');
var image=pictureHolder.appendChild(document.createElement('img'));
image.src = this.url.replace("*",this.sequence[0]);
image.id = 'pgObject';
if(height) image.height = height;
if(width) image.width = width;
image.className = "photoGallery";
place.appendChild(pictureHolder);
var navBar = createTiddlyElement(pictureHolder,"div");
createTiddlyButton(navBar,"«","",this.firstImage);
createTiddlyButton(navBar,"‹","",this.previousImage);
if(this.time>0) {
createTiddlyButton(navBar,"►",null,this.auto,null,"pgPlay");
}
createTiddlyButton(navBar,"›","",this.nextImage);
createTiddlyButton(navBar,"»","",this.lastImage);
if(this.labels) createTiddlyElement(pictureHolder,"div","pgLabel","",this.labelsArray[0]);
if(this.numbers) createTiddlyElement(navBar,"span","pgCounter","","1/"+this.nImages);
if(this.time>0 && this.start>-1) setTimeout(this.auto,this.start);
}
config.macros.photoGallery.parseSequence = function(seq) {
var list = seq.split(","), res = [], limits, i, j;
for (i=0; i<list.length; i++){
if(list[i].indexOf("-") == -1){
res.push(parseInt(list[i]));
} else {
limits = list[i].split("-");
if(limits[0]>limits[1]){
for(j=parseInt(limits[0]); j>=parseInt(limits[1]); j--){
res.push(j);
}
} else {
for(j=parseInt(limits[0]); j<=parseInt(limits[1]); j++){
res.push(j);
}
}
}
}
return res;
}
config.macros.photoGallery.auto = function() {
var cm = config.macros.photoGallery;
if(cm.autoAdvance) {
clearInterval(cm.autoAdvance);
cm.autoAdvance = null;
$("#pgPlay").text('►');
} else {
if(cm.time>0) {
cm.autoAdvance = setInterval(cm.nextImage, cm.time);
$("#pgPlay").text('■');
}
}
}
config.macros.photoGallery.jump = function(step) {
var target;
switch (step) {
case "f":
target=0;
break;
case "l":
target=this.nImages-1;
break;
case "n":
target = (this.current == this.nImages-1) ? 0 : this.current+1;
break;
case "p":
target = (this.current == 0) ? this.nImages-1 : this.current-1;
}
this.current = target;
$("#pgObject").attr("src",this.url.replace("*",this.sequence[target]))
if(this.numbers) $("#pgCounter").text((target+1) + '/'+ this.nImages);
if(this.labels) $("#pgLabel").text(this.labelsArray[target]);
}
config.macros.photoGallery.nextImage = function(){config.macros.photoGallery.jump('n');}
config.macros.photoGallery.previousImage = function(){config.macros.photoGallery.jump('p');}
config.macros.photoGallery.lastImage = function(){config.macros.photoGallery.jump('l');}
config.macros.photoGallery.firstImage = function(){config.macros.photoGallery.jump('f');}
})(jQuery)
}
//}}}
Ansichtskarte
Zeitsprung 1
Zeitsprung 2
Eiszeit
Polarnacht
Hochspannung
Teststrecke
Tageslicht
Anbau
Schaukasten
Schlussverkauf
Lichthaus
Sonnenschein
Immer geradeaus
Donner
Geisterstadt
In Bayern
Gelber Himmel
Schnee auf der Straße
Grauer Tag
Land-Ende
<<photoGallery url:images/anbl/roetz/roetz-*.jpg sequence:"1-21" height:470 time:8000 labels:Roetz_2001_2002>>
----
<html><a href="javascript:generateSEOFiles();">Generate SEO files</a></html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>SITE_TITLE - TIDDLER_TITLE</title>
<meta name="description" content="SITE_SUBTITLE">
<meta name="keywords" content="TIDDLER_KEYWORDS">
<script language="JavaScript" type="text/javascript">
location.href = 'TIDDLER_URL';
</script>
<base href="TIDDLER_URL">
</head>
<body>
<noscript>
<a href="TIDDLER_URL">TIDDLER_TITLE</a>
</noscript>
TIDDLER_CONTENT
</body>
</html>
function generateSEOFiles()
{
// last update: 2007-02-14 by Fabrice Proudhon
var originalPath = document.location.toString();
if(originalPath.substr(0,5) != "file:")
{
alert(config.messages.notFileUrlError);
if(store.tiddlerExists(config.messages.saveInstructions))
story.displayTiddler(null,config.messages.saveInstructions);
return;
}
var nr = 0;
var y = [];
var g = [];
var localPath = getLocalPath(originalPath);
var c = store.getTiddlerText("SEOTiddlyWikiConfig");
var su = store.getTiddlerText("SiteUrl");
var st = wikifyPlain("SiteTitle");
var sbt = wikifyPlain("SiteSubtitle");
var htmlPath = localPath.substr(0,localPath.lastIndexOf("/"));
var tiddlers = store.getTiddlers("modified","excludeSearch");
g.push('<url><loc>' + su.htmlEncode() + '</loc></url>');
y.push(su.htmlEncode());
for (var t=0; t<tiddlers.length; t++) {
var content = c;
var filename = tiddlers[t].title.htmlEncode();
filename = filename.toLowerCase();
filename = filename.replace(/ |\/|@|:/gi, '-');
filename = filename.replace(/:|\?|!|,/gi, '');
filename = '_' + filename.replace(/(-)\1+/gi, '$1');
filename = encodeURI(filename)
content = content.replace(/SITE_TITLE/gi, st.htmlEncode());
content = content.replace(/SITE_SUBTITLE/gi, sbt.htmlEncode());
content = content.replace(/TIDDLER_TITLE/gi, tiddlers[t].title.htmlEncode());
content = content.replace(/TIDDLER_URL/gi, su.htmlEncode() + 'index.html#' + String.encodeTiddlyLink(tiddlers[t].title));
content = content.replace(/TIDDLER_KEYWORDS/gi, tiddlers[t].tags.join(',').htmlEncode());
content = content.replace(/TIDDLER_CONTENT/gi, wikifyStatic(tiddlers[t].text,null,tiddlers[t]).htmlEncode());
content = content.replace(/</gi, '<');
content = content.replace(/>/gi, '>');
content = content.replace(/"/gi, '"');
var d = tiddlers[t].modified.getFullYear() + '-';
if (tiddlers[t].modified.getMonth() + 1 < 10) d = d + '0';
d = d + (tiddlers[t].modified.getMonth() + 1) + '-';
if (tiddlers[t].modified.getDate() < 10) d = d + '0';
d = d + tiddlers[t].modified.getDate();
g.push('<url><loc>' + su.htmlEncode() + filename + '.htm' + '</loc><lastmod>' + d + '</lastmod></url>');
y.push(su.htmlEncode() + filename + '.htm');
saveFile(htmlPath + '/' + filename + '.htm', convertUnicodeToUTF8(content));
nr++;
}
saveFile(htmlPath + '/urllist.txt', convertUnicodeToUTF8(y.join('\n')));
saveFile(htmlPath + '/sitemap.xml', '<?xml version="1.0" encoding="utf-8"?><urlset xmlns="http://www.google.com/schemas/sitemap/0.84">\n' + convertUnicodeToUTF8(g.join('\n')) + '</urlset>');
displayMessage(nr + ' SEO files created', '');
}
[img[images/jpg_c/schibla_von_oben.jpg]]
/***
|''Name:''|~SectionMacro|
|''Version:''|0.9.4 (20-Apr-2007)|
|''Author:''|[[Jack]]|
|''Type:''|Macro|
!Description
Allows you to create collapsable sections just like the slider macro but without needing to create new tiddlers for these sections.
!Usage
{{{<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>}}}
<<section Title Tiddler Text goes here...
and can be multi-
line and include {${${monospace text}$}$}.
>>
!Revision History
* Original by [[Jack]] 0.9
* Nested sliders and cookie persistence 0.9.1
* Removed crappy cookie persistance 0.9.2
* Bug-fix with quoted 2st parameter (thanks M. Macolio) 0.9.3
* Bug-fix with monospace text (thanks M. Macolio) 0.9.4
!Code
***/
//{{{
version.extensions.section = {major: 0, minor: 9, revision: 4, date: new Date("Apr 20, 2007")};
config.macros.section = {count:0,display:'none'};
config.macros.section.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
this.slider(place,"chkSection" + this.count++,paramString.substr(params[0].length+(paramString.substr(params[0].length+1,1).match(/['"]/)?2:1)).replace(/\$\>/g, '>').replace(/}\$}\$}/, '}}}').replace(/{\${\${/, '{{{'),params[0], "auf- und zuklappen");
}
config.macros.section.slider = function(place,cookie,text,title,tooltips) {
var btn = createTiddlyButton(place,title,tooltips,config.macros.slider.onClickSlider,"tiddlyLink tiddlyLinkExisting");
var panel = createTiddlyElement(place,"div",null,"timelineSliderPanel",null);
panel.setAttribute("cookie",cookie);
panel.style.display = config.options[cookie] ? "block" : "none";
panel.style.display=this.display;
if(text) wikify(text,panel);
};
//}}}
Auszüge aus den Sammlungen:
{{einzug{[[Aphora]]}}}
{{einzug{[[Gedichtet]]}}}
{{einzug{[[Verdichtet]]}}}
{{einzug{[[Der Garten der Träume]]}}}
{{einzug{[[Solanum dulcamara]]}}}
----
<<closeAll>><<permaview>><<newTiddler>><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "Optionen »" "Optionen von TiddlyWiki ändern">>
[img[images/jpg_c/silkycolors.jpg]]
/***
|''Name''|SimpleSearchPlugin|
|''Description''|displays search results as a simple list of matching tiddlers|
|''Authors''|FND|
|''Version''|0.4.1|
|''Status''|stable|
|''Source''|http://devpad.tiddlyspot.com/#SimpleSearchPlugin|
|''CodeRepository''|http://svn.tiddlywiki.org/Trunk/contributors/FND/plugins/SimpleSearchPlugin.js|
|''License''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''Keywords''|search|
!Revision History
!!v0.2.0 (2008-08-18)
* initial release
!!v0.3.0 (2008-08-19)
* added Open All button (renders Classic Search option obsolete)
* sorting by relevance (title matches before content matches)
!!v0.4.0 (2008-08-26)
* added tag matching
!To Do
* tag matching optional
* animations for container creation and removal
* when clicking on search results, do not scroll to the respective tiddler (optional)
* use template for search results
!Code
***/
//{{{
if(!version.extensions.SimpleSearchPlugin) { //# ensure that the plugin is only installed once
version.extensions.SimpleSearchPlugin = { installed: true };
if(!config.extensions) { config.extensions = {}; }
config.extensions.SimpleSearchPlugin = {
heading: "Suchergebnis",
containerId: "searchResults",
btnCloseLabel: "schließen",
btnCloseTooltip: "Ergebnis verwerfen",
btnCloseId: "search_close",
btnOpenLabel: "Alle öffnen",
btnOpenTooltip: "alle gefundenen öffnen",
btnOpenId: "search_open",
displayResults: function(matches, query) {
story.refreshAllTiddlers(true); // update highlighting within story tiddlers
var el = document.getElementById(this.containerId);
query = '"""' + query + '"""'; // prevent WikiLinks
if(el) {
removeChildren(el);
} else { //# fallback: use displayArea as parent
var container = document.getElementById("displayArea");
el = document.createElement("div");
el.id = this.containerId;
el = container.insertBefore(el, container.firstChild);
}
var msg = "!" + this.heading + "\n";
if(matches.length > 0) {
msg += "''" + config.macros.search.successMsg.format([matches.length.toString(), query]) + ":''\n";
this.results = [];
for(var i = 0 ; i < matches.length; i++) {
this.results.push(matches[i].title);
msg += "* [[" + matches[i].title + "]]\n";
}
} else {
msg += "''" + config.macros.search.failureMsg.format([query]) + "''"; // XXX: do not use bold here!?
}
createTiddlyButton(el, this.btnCloseLabel, this.btnCloseTooltip, config.extensions.SimpleSearchPlugin.closeResults, "button", this.btnCloseId);
wikify(msg, el);
if(matches.length > 0) { // XXX: redundant!?
createTiddlyButton(el, this.btnOpenLabel, this.btnOpenTooltip, config.extensions.SimpleSearchPlugin.openAll, "button", this.btnOpenId);
}
},
closeResults: function() {
var el = document.getElementById(config.extensions.SimpleSearchPlugin.containerId);
removeNode(el);
config.extensions.SimpleSearchPlugin.results = null;
highlightHack = null;
},
openAll: function(ev) {
story.displayTiddlers(null, config.extensions.SimpleSearchPlugin.results);
return false;
}
};
config.shadowTiddlers.StyleSheetSimpleSearch = "/*{{{*/\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " {\n" +
"\toverflow: auto;\n" +
"\tpadding: 5px 1em 10px;\n" +
"\tbackground-color: [[ColorPalette::TertiaryPale]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " h1 {\n" +
"\tmargin-top: 0;\n" +
"\tborder: none;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " ul {\n" +
"\tmargin: 0.5em;\n" +
"\tpadding-left: 1.5em;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " .button {\n" +
"\tdisplay: block;\n" +
"\tborder-color: [[ColorPalette::TertiaryDark]];\n" +
"\tpadding: 5px;\n" +
"\tbackground-color: [[ColorPalette::TertiaryLight]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.containerId + " .button:hover {\n" +
"\tborder-color: [[ColorPalette::SecondaryMid]];\n" +
"\tbackground-color: [[ColorPalette::SecondaryLight]];\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.btnCloseId + " {\n" +
"\tfloat: right;\n" +
"\tmargin: -5px -1em 5px 5px;\n" +
"}\n\n" +
"#" + config.extensions.SimpleSearchPlugin.btnOpenId + " {\n" +
"\tfloat: left;\n" +
"\tmargin-top: 5px;\n" +
"}\n" +
"/*}}}*/";
store.addNotification("StyleSheetSimpleSearch", refreshStyles);
// override Story.search()
Story.prototype.search = function(text, useCaseSensitive, useRegExp) {
highlightHack = new RegExp(useRegExp ? text : text.escapeRegExp(), useCaseSensitive ? "mg" : "img");
var matches = store.search(highlightHack, null, "excludeSearch");
var q = useRegExp ? "/" : "'";
config.extensions.SimpleSearchPlugin.displayResults(matches, q + text + q);
};
// override TiddlyWiki.search() to sort by relevance
TiddlyWiki.prototype.search = function(searchRegExp, sortField, excludeTag, match) {
var candidates = this.reverseLookup("tags", excludeTag, !!match);
var primary = [];
var secondary = [];
var tertiary = [];
for(var t = 0; t < candidates.length; t++) {
if(candidates[t].title.search(searchRegExp) != -1) {
primary.push(candidates[t]);
} else if(candidates[t].tags.join(" ").search(searchRegExp) != -1) {
secondary.push(candidates[t]);
} else if(candidates[t].text.search(searchRegExp) != -1) {
tertiary.push(candidates[t]);
}
}
var results = primary.concat(secondary).concat(tertiary);
if(sortField) {
results.sort(function(a, b) {
return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);
});
}
return results;
};
} //# end of "install only once"
//}}}
{{u{Gunther Wüsthoff}}}[img[Vita|images/zug.jpg][Vita]]
http://guntherwüsthoff.de/
[img[Bittersüßer Nachtschatten|images/solanum.jpg]]
@@font-family:"Times",serif;font-size:1.3em;font-weight:bold;color:#6BB;Wem das Ende naht@@
{{einzug{[[Wurm]]}}}
{{einzug{[[Katzek]]}}}
{{einzug{[[Meeresleuchten]]}}}
{{einzug{[[Hermi]]}}}
----
[[Vita]]
[[Kontakt]]
[img[itsMe|images/itsMe.png]]
<<photoGallery url:images/ausbl/sm-*.jpg sequence:"1-15" height:470 time:8000 labels:Star_Mud>>
----
Licht 1
Licht 2
Licht 3
Licht 4
Licht 5
Dunkel 1
Dunkel 2
Dunkel 3
Dunkel 4
Hybrid 1
Hybrid 2
Hybrid 3
Hybrid 4
Hybrid 5
Hybrid 6
/*{{{*/
body {font-size:.75em; font-family:"optima",arial,helvetica; margin:0; padding:0;}
.headerShadow {position:relative; padding:.4em 0 1em 1em; left:1px; top:4px;}
.headerForeground {position:absolute; padding:.4em 0 1em 1em; left:0px; top:2px;}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerForeground {color:#fff;}
.header img {margin-top:.4em; margin-bottom:-.4em;}
.siteTitle {font-size:1.1em;margin-left:12.4em; margin-right:3.4em;}
.siteSubtitle {font-family:arial; font-size:2em; font-weight:bold;}
.toolbar {color:[[ColorPalette::Background]];}
.toolbar {margin:-1em 0 0 0;}
.toolbar a {color:[[ColorPalette::Background]];}
.viewer {line-height:1.3em;padding-top:0.3em;}
.viewer hr {width:100.01%; border:0; border-top:solid 1px [[ColorPalette::PrimaryRed]]; color:[[ColorPalette::PrimaryRed]];}
.viewer blockquote {line-height:1.2em;margin-left:3em;}
.viewer blockquote {border-left:0;}
#mainMenu {position:fixed; left:0; width:12.8em; text-align:right; line-height:1.4em;font-size:1em;}
#mainMenu hr {width:100.01%; border:0; border-top:solid 1px [[ColorPalette::PrimaryRed]]; color:[[ColorPalette::PrimaryRed]];}
#mainMenu a {font-size: 1em; text-decoration:none;font-weight:normal;}
#mainMenu h2 {border:0;margin:5px;padding:5px;font-size:1.15em;font-weight:bold;}
#mainMenu ul {list-style:none; margin:5px; padding:0;}
#mainMenu ul ul {background:#dff;list-style:none; margin-right:5px; padding:0;}
#mainMenu ul li img {background:#eff;text-align:center; margin: 3px:}
#sidebarTabs {padding-top:0.3em;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
#sidebarTabs a {margin:0 0.2em; padding:0.2em 0.3em;}
.HideSideBarButton {font-size: 0.9em; font-weight:normal; color: #088; padding: 0 5px;}
.HideSideBarButton .button {font-size: 0.9em; font-weight:normal; color: #888; padding: 0 5px;}
.HideSideBarButton .button:hover {font-size: 0.9em; font-weight:normal; color: #599; padding: 0 5px;}
#foot{padding:1em 0 1em 0;text-align:center;line-height:1.3em;font-size:.9em;}
.aName{position:relative;width:12em;text-align:right;float:left}
.aValue{font-weight:bold;position:relative;width:20em;text-align:left;}
.einzug{padding-left:2em;text-align:left;}
.small{font-size:.9em;line-height:1em;}
.blass{font-size:.9em;color:#e0f;}
.geheim a {text-decoration:none;color:[[ColorPalette::Foreground]];}
.u {font-size: 0px;}
/*}}}*/
/*{{{*/
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]];}
.wizard .notChanged {background:transparent;}
.wizard .changedLocally {background:#80ff80;}
.wizard .changedServer {background:#8080ff;}
.wizard .changedBoth {background:#ff8080;}
.wizard .notFound {background:#ffff80;}
.wizard .putToServer {background:#ff80ff;}
.wizard .gotFromServer {background:#80ffff;}
#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 0 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0 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:0 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 0.3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}
.wizard {padding:0.1em 1em 0 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0; margin:0.4em 0 0.2em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0 0; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0;}
.wizardFooter .status {padding:0 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em;}
#messageArea {position:fixed; top:2em; right:0; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em;}
#messageArea a {text-decoration:underline;}
.tiddlerPopupButton {padding:0.2em;}
.popupTiddler {position: absolute; z-index:300; padding: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 0;}
.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 0 0 0.5em;}
.tab {margin:0 0 0 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;}
#displayArea {margin:1em 17em 0 14em;}
.toolbar {text-align:right; font-size:.9em;}
.tiddler {padding:1em 1em 0;}
.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;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}
.tagged li, .tagged ul {display:inline;}
.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:0 0.25em; padding:0 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 0; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}
.fieldsetFix {border:0; padding:0; margin: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;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0; right:0;}
#backstageButton a {padding:0.1em 0.4em; margin:0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; width:90%; margin-left:3em; padding:1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}
.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
config.macros.tags.oldHandler = config.macros.tags.handler;
config.macros.tags.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
if(tiddler.tags && tiddler.tags.length > 0)
this.oldHandler.apply(this, arguments);
else
place.style.display = 'none';
};
Der Lachs ist ein Tier welches im Meerwasser lebt und gut aussieht. Wie glänzendes Silber mit rötlichen und gelben Punkten. Er ist wesentlich größer und schwerer als der Hering und kommt deshalb nicht im Wilhelmshavener Seewasseraquarium vor, und auch, weil er zur Fortpflanzung die Flüsse bis nahe zu den Quellen hochzieht. Er zählt zu den Edelfischen, was sich im Preis bemerkbar macht. Allerdings ist er sehr ergiebig: Seine Gräten sind groß und lassen sich leicht finden und entfernen.
!!!Werkzeug
*Scharfes Kochmesser
*Schneidbrett
!!!Verbrauchsmaterial
*Küchenkrepp
!!!Zutaten
*ein Schälchen Lachs (gewaschen, abgetrocknet und fein gewürfelt)
*ebensolches Schälchen Gemüsezwiebel (noch feiner gewürfelt)
das Volumen dieser beiden Zutaten sollte etwa gleich sein
*1EL kaltgepresstes Leinöl
*1/2 TL Salz
*1 TL frisch gemahlenen schwarzer Pfeffer
*1 Eiweiß vom hartgekochten Ei (gewürfelt)
*1 Spritzer Zitronensaft
*Dill nach Belieben
Beilage: Brot
!!!Zubereitung
Alle Zutaten in der Reihenfolge ihres Auftritts in einer ausreichend großen Schale mischen, glattstreichen, abdecken für zwei Stunden in den Kühlschrank stellen.
!!!Essen
*Mit oder ohne Butter auf Brot
!!!Variante
Wenn man statt Farmlachs Wildlachs verwendet, sollte man die Menge des Leinöls verdoppeln
----
[[Fachwerk]]
[[Shorties]]
[[Gespräche am Tellerrand]]
<<tiddlyPod noautoplay noloop>>
----
ton/readyfornow.mp3
Jason Pyper meets Rag "Frecklecrab" Larsson at Timney's: Ready For Now
----
config.macros.toggleSideBar={};
config.macros.toggleSideBar.settings={
styleHide : "#sidebar { display: none;}\n"+"#contentWrapper #displayArea { margin-right: 1em;}\n"+"",
styleShow : " ",
arrow1: "«",
arrow2: "»"
};
config.macros.toggleSideBar.handler=function (place,macroName,params,wikifier,paramString,tiddler)
{
var tooltip= params[1]||'toggle sidebar';
var mode = (params[2] && params[2]=="hide")? "hide":"show";
var arrow = (mode == "hide")? this.settings.arrow1:this.settings.arrow2;
var label= (params[0]&¶ms[0]!='.')?params[0]+" "+arrow:arrow;
var theBtn = createTiddlyButton(place,label,tooltip,this.onToggleSideBar,"button HideSideBarButton");
if (mode == "hide")
{
(document.getElementById("sidebar")).setAttribute("toggle","hide");
setStylesheet(this.settings.styleHide,"ToggleSideBarStyles");
}
};
config.macros.toggleSideBar.onToggleSideBar = function(){
var sidebar = document.getElementById("sidebar");
var settings = config.macros.toggleSideBar.settings;
if (sidebar.getAttribute("toggle")=='hide')
{
if(!readOnly) {
setStylesheet(settings.styleShow,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","show");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow1,settings.arrow2);
}
}
else
{
setStylesheet(settings.styleHide,"ToggleSideBarStyles");
sidebar.setAttribute("toggle","hide");
this.firstChild.data= (this.firstChild.data).replace(settings.arrow2,settings.arrow1);
}
return false;
}
setStylesheet(".HideSideBarButton .button {font-size: 0.7em; font-weight:normal; color: #e0f; padding: 0 5px;}\n","ToggleSideBarButtonStyles");
|~ViewToolbar|closeTiddler closeOthers +editTiddler jump > fields permalink references|
|~roViewToolbar|closeTiddler closeOthers jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
<<photoGallery url:images/durchbl/durchbl-*.jpg sequence:"1-17" height:470 time:8000 labels:durch_bl>>
----
[[Wem gehört das Bein]]
[[verwechseldochnichimmeralles]]
[[Genesis 1.3]]
----
<!--{{{-->
<!--div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div-->
<div macro="hideWhen readOnly">
<!-- regular toolbar for me -->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
</div>
<div macro="showWhen readOnly">
<!-- regular toolbar for all the world -->
<div class='toolbar' macro='toolbar [[ToolbarCommands::roViewToolbar]]'></div>
</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='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class='tagged' macro='tags'></div>
<!--}}}-->
Gunther Wüsthoff – ~Diplom-Redakteur [FH]
*Mathematisch-naturwissenschaftliches Abitur mit großem Latinum an der ~Max-Planck-Schule in Wilhelmshaven
*Wehrdienst als Marinefunker
*Grundstudium der Germanistik an der Universität Hamburg
*Studium der Freien Kunst an der Hochschule für bildende Künste Hamburg
*Gründung der Musikgruppe [[faust|http://en.wikipedia.org/wiki/Faust_%28band%29]]. Fünf Langspielplatten, drei Konzertreisen Frankreich, Großbritannien
*Freiberuflich technische Dienstleistungen aller Art bei Studio Hamburg, Zentrale Videotechnik – Beginn der Computernutzung
*Technischer Mitarbeiter Kino und Ton, später Leiter der Technik im Filmhaus Hamburg
*Studium und Diplom der Technischen Redaktion an der [[Fachhochschule Hannover|https://f1.hs-hannover.de/studium/studiengaenge-und-programme/bachelor-studiengaenge/technisches-informationsdesign-und-technische-redaktion-itr/]]
*Selbständiger Technischer Redakteur – Gründung von [[logofact|http://logofact.de]]
*Projekte für Dokumentationsbüro Zindel, ~DatenRevision ~GmbH, IBM Deutschland ~GmbH und andere
*Entwicklung der fotografischen Werkreihen "Kondensate" und "Konstrukte" sowie der druckgrafischen Reihe "Kristallite"
*Konstruktive Mitarbeit am Projekt "Faust 1971 - 1974" anlässlich des 50. Jubiläums der Gruppe faust für das Musiklabel [[Bureau b|http://www.bureau-b.com/infotexte/BB348%20Gunther%20Wuesthoff%20Bio%20de.pdf]]
*Produktion und Gestaltung der ~Solo-LP/CD/DD/DS "Gunther Wüsthoff [to|digi]tal", erschienen beim Musiklabel Bureau b
----
{{small{1999}}}
!!!Wem gehört das Bein
HF:
{{einzug{Hermann Lenz, 45 Jahre, alleinstehend, von Beruf Erbsenzähler, schizophren.}}}
{{einzug{ Hat ein freistehendes Bett und kann sich morgens entscheiden,}}}
{{einzug{ nach welcher Seite er aufsteht. Dabei die Frage, wer aufsteht.}}}
wechselt in die Rolle: dergroßeHeld (alias Alexander), weil Phillip ihn für einen Hasenfuß hält. Auch seine Mutter Olympias erzählt anderen, dergroßeHeld hat Angst vom Berg zu fallen. Deswegen Flucht ins platte Gelände, die Welt erobern.
Im Nildelta die Begegnung mit den Fischern. Einer trägt keine Sandalen, dem übergibt dergroßeHeld seine ausgelesenen Illustrierten. Pass drauf auf, irgendwann komme ich wieder und hole sie wieder ab. Ptolemaios sagt, das ist ein Fischer, das kann der nicht, der wickelt da seine Fische mit ein, lass mich hierbleiben und drauf aufpassen. Gut, dann bleib du hier, sagt dergroßeHeld.
So ist die große Bibliothek entstanden.
Am anderen Morgen, auf der anderen Seite des Bettes. Wer ist da, fragt dergroßeHasenfuß, geh weg und lass mich aufstehen. Ich muss gleich ins Büro.
Da ist niemand. Nur das kalte Bein. Es rührt sich nicht und sagt nichts. Nein, heute nicht schon wieder Held sein, das war ich gestern.
----
<<photoGallery url:images/einbl/gesa/gesa-*.jpg sequence:"1-116" height:470 time:8000>>
----
[img[images/jpg_c/westenrinde.jpg]]
{{small{1969}}}
!!!Wurm
Langsam windet Wurm sich aus dem Watt:
Was wirds heute geben?
Was wird heut' sein?
Tod, wie bei jeder Ebbe.
----
*Diese Seite benutzt [[tiddlywiki [1]|http://tiddlywiki.com]] Version <<version>>
*Es basiert auf offenen [[Web-Standard|http://de.wikipedia.org/wiki/Web-Standard]]s und ist deshalb kostenlos.
*Wie jedes [[tiddlywiki [2]|http://www.blogjones.com/TiddlyWikiTutorial.html]] ist auch dieses barrierefrei nach der [[BITV|http://de.wikipedia.org/wiki/BITV]] (Barrierefreie ~Informationstechnik-Verordnung).
*Es setzt keine besondere Übertragungsbandbreite oder Bildschirmauflösung voraus.
*Es funktioniert mit jedem einigermaßen aktuellen Browser.
*Für den Betreiber ist es sehr leicht, Informationen hinzuzufügen.
*Für den Entwickler ist ein [[tiddlywiki [3]|http://tiddlywiki.org]] sehr leicht zu konfigurieren und zu erweitern.
*Es erfordert bei Veränderungen oder Ergänzungen keine ~Server-Installation.
----
1/17
2/17
3/17
4/17
5/17
6/17
7/17
8/17
9/17
10/17
11/17
12/17
13/17
14/17
15/17
16/17
17/17
//{{{
config.macros.eMail = {
handler: function (place, macroName, params, wikifier, paramString, tiddler)
{
var string1 = "gardy-wurm";
var string2 = "@";
var string3 = "logofact.de";
var string4 = string1 + string2 + string3;
wikify("[[" + "Gunther Wüsthoff" + "|" + "mai" + "lto:" + string4 + "]]", place);
}
};
//}}}
powered by [[tiddlywiki|http://tiddlywiki.com]] <<version>> © 2007 [[UnaMesa|http://www.unamesa.org/]]
Content © 1964 - <<today "YYYY">> by <<eMail>> {{geheim{[[–|http://gardy-wurm.de/athome/]]}}} <<tiddler lastModified>>
{{small{ca. 1964
noch in Erinnerung an die Nachkriegszeit und das beginnende Wirtschaftswunder}}}
!!!Halb so nett
An der Ecke steht ein Mann,
der bietet Hungertücher an.
Leute, die dran nagen wollen,
können sich eins kaufen.
Da lern' ich lieber laufen,
denn hungern ist heut' unbequem,
noch mehr, als an der Ecke stehn.
----
<<<
Hier ist ''53º 39' 10.72" Nord, 10º 6' 53.84" Ost''
Jetzt ist ''<<today "YYYY0MM0DD0hh0mm">>'' gewesen.
<<<
<<section "situs in statu nascendi est"
An verschiedenen Stellen dieser Site wird ''hier und jetzt'' noch gebaut.
Weitere Informationen über [[diese Seite]]>>
----
<script>
var tiddlers=store.getTiddlers("modified");
var last=tiddlers[tiddlers.length-1];
var when=last.modified.formatString("published YYYY0MM0DD0hh0mm0ss");
wikify(when, place);
</script>
{{small{Für Archie Görding, 15. 10. 2009}}}
!!!verwechseldochnichimmeralles
Nein, Albert Schweitzer hat das Internet nicht erfunden. Der war da schon lange tot. Das waren n'paar inschpirierte Jungs an verschiedenen ~US-Universitäten (Princetown und Boston waren ganz bestimmt nicht dabei), deren Namen liegen im Dunklen (Bankschließfach in der Schweiz, da schließt sich der Kreis). Die hatten sich gedacht: halten wir unseren Computern doch mal 'n Telefonhörer ans Ohr, dann können die direkt miteinander...
Das hat natürlich die Post mitgekriegt und die hat das dann der Behörde erzählt. Das war das Beschaffungsamt für die Army. Die wiederum haben sich dann gedacht: bevor die Russen unseren einzigen Computer atomisieren, geben wir den Jungs doch mal ne Chance und haben sich von ARPA in DARPA umbenannt.
Ja, das war ein britischer Festkörperfüsiker, der das Web erfunden hat. Der war nie in Afrika. Das Internet gab es schon seit fünfzehn Jahren. Der hat sich dann gedacht: benutzen wir das doch endlich mal für was Sinnvolles. Hat sich an seinen NEXT gesetzt und hier ein paar Zeilen Code gehackt, und da ein paar Zeilen Code gehackt. Das eine nannte er Server und das andere Client. Die Wörter gab es aber schon vorher. Und weil das funktionierte, was er sich vorgestellt hatte, hat er das rumerzählt. Erst wollte keiner was davon wissen, aber ein paar Jungs von den Universitäten haben sich gedacht: endlich mal einer, der mitdenkt, und als Erstes die Firma Netscape gegründet. Die ist dann später verkauft worden. Ach, ich schweife ab. Und die andern haben sich gedacht, wir patchen den Code, den er Server genannt hat. So ist der zu seinem Namen gekommen, und das Symbol ist nicht etwa nur eine einfache Indianertrophäe, sondern die Feder, mit der man ~HyperText schreibt.
Nein, ganz genau so war das natürlich nicht. Der kannte sowohl die Ideen von Steve Jobs, die der mit ~HyperTalk formuliert hatte, als auch erst recht das ~XANADU-Projekt von Theo H. Nelson.
Nun staunst Du, was?
Der Mann heißt: Sir Tim ~Berners-Lee. Und das kann ihm keiner nachmachen.
----