Welcome to TiddlyWiki created by Jeremy Ruston; Copyright © 2004-2007 Jeremy Ruston, Copyright © 2007-2011 UnaMesa Association
Højreklik og vælg //Gem link som//.
|widetable borderless|k
|Nb: På sidehovederne, i ikke anvendte oplæg, står der 2009 - Det er naturligvis rettet på de *aktuelle oplæg...|c
|<<tiddler [[Alle pdflinks##1]]>>|<<tiddler [[Alle pdflinks##2]]>>|<<tiddler [[Alle pdflinks##3]]>>|<<tiddler [[Alle pdflinks##4]]>>|
/%
!1
1. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%201.pdf]]*
2. [[link|http://dl.getdropbox.com/u/1064531/ad%202.pdf]]
3. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%203.pdf]]*
4. [[link|http://dl.getdropbox.com/u/1064531/ad%204.pdf]]
5. [[link|http://dl.getdropbox.com/u/1064531/ad%205.pdf]]
!2
6. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%206.pdf]]*
7. [[link|http://dl.getdropbox.com/u/1064531/ad%207.pdf]]
8. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%208.pdf]]*
9. [[link|http://dl.getdropbox.com/u/1064531/ad%209.pdf]]
10. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2010.pdf]]*
!3
11. [[link|http://dl.getdropbox.com/u/1064531/ad%2011.pdf]]
12. [[link|http://dl.getdropbox.com/u/1064531/ad%2012.pdf]]
13. [[link|http://dl.getdropbox.com/u/1064531/ad%2013.pdf]]
14. [[link|http://dl.getdropbox.com/u/1064531/ad%2014.pdf]]
15. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2015.pdf]]*
!4
16. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2016.pdf]]*
17. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2017.pdf]]*
18. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2018.pdf]]*
19. [[link|http://dl.getdropbox.com/u/1064531/ad%2019.pdf]]
20. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2020.pdf]]*
21. [[link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2021.pdf]]*
!end %/
<<tiddler Oplæg>>
|[[Opgave 1]]: <<tiddler [[Opgave 1]]>>|
|[[Opgave 2]]: <<tiddler [[Opgave 2]]>>|
|[[Opgave 3]]: <<tiddler [[Opgave 3]]>>|
|[[Opgave 4]]: <<tiddler [[Opgave 4]]>>|
|[[Opgave 5]]: <<tiddler [[Opgave 5]]>>|
|[[Opgave 6]]: <<tiddler [[Opgave 6]]>>|
|[[Opgave 7]]: <<tiddler [[Opgave 7]]>>|
|[[Opgave 8]]: <<tiddler [[Opgave 8]]>>|
|[[Opgave 9]]: <<tiddler [[Opgave 9]]>>|
|[[Opgave 10]]: <<tiddler [[Opgave 10]]>>|
|[[Opgave 11]]: <<tiddler [[Opgave 11]]>>|
|[[Opgave 12]]: <<tiddler [[Opgave 12]]>>|
|[[Opgave 13]]: <<tiddler [[Opgave 13]]>>|
|[[Opgave 14]]: <<tiddler [[Opgave 14]]>>|
|[[Opgave 15]]: <<tiddler [[Opgave 15]]>>|
|[[Opgave 16]]: <<tiddler [[Opgave 16]]>>|
|[[Opgave 17]]: <<tiddler [[Opgave 17]]>>|
|[[Opgave 18]]: <<tiddler [[Opgave 18]]>>|
|[[Opgave 19]]: <<tiddler [[Opgave 19]]>>|
|[[Opgave 20]]: <<tiddler [[Opgave 20]]>>|
|[[Opgave 21]]: <<tiddler [[Opgave 21]]>>|
|''URL:''|http://tiddlywiki.bidix.info/|
|''Description:''|Repository for BidiX's TiddlyWiki Extensions|
|''Author:''|BidiX|
/***
|''Name:''|FCKeditorPluginSettings|
|''Description:''|A place to point to the files/config required by CKEditor|
|''Version:''|1.1.1|
|''Date:''|01 01,2010|
|''Author:''|Simon McManus|
|''License:''|[[BSD open source license|License]]|
***/
//{{{
CKEDITOR.config.baseHref = '../ckeditor/';
CKEDITOR.config.customConfig = '../ckeditor/config.js';
//}}}
/***
|''Name:''|CKeditorPlugin|
|''Description:''|Wysiwyg editor for TiddlyWiki using CKeditor(http://ckeditor.com/).|
|''Version:''|1.1.1|
|''Date:''|Jan 01,2010|
|''Source:''|forked from : http://visualtw.ouvaton.org/VisualTW.html to try CKEditor|
|''Author:''|Simon McManus|
|''License:''|[[BSD open source license|License]]|
***/
//{{{
config.macros.editHtml = {
alwaysOn:false,
showButton:true,
handler : function(place,macroName,params,wikifier,paramString,tiddler) {
var field = params[0];
var height = params[1] ? params[1] : config.options.txtCKheight;
if (typeof CKEDITOR=="undefined"){
displayMessage(config.macros.editHtml.CKeditorUnavailable);
config.macros.edit.handler(place,macroName,params,wikifier,paramString,tiddler);
}
else if (field) {
if (config.options.txtCKCustomConfigScript) CKEDITOR.config.customConfig = config.options.txtCKCustomConfigScript ;
var re = /^<html>(.*)<\/html>$/m;
var fieldValue=store.getValue(tiddler,field);
var htmlValue = re.exec(fieldValue);
var value = (htmlValue && (htmlValue.length>0)) ? htmlValue[1] : fieldValue;
value=value.replace(/\[\[([^|\]]*)\|([^\]]*)]]/g,'<a href="#$2">$1</a>');
var ta = createTiddlyElement(place, 'textarea', '', 'ckeditor', value);
var ckName = "CKeditor"+Math.random();
ta.name = ckName;
ta.id = ckName;
ta.setAttribute("editHtml",field);
ta.setAttribute("ckName",ckName);
CKEDITOR.replace(ckName);
}
},
gather : function(e) {
var name = e.getAttribute("ckName");
var html = CKEDITOR.instances[name].getData();
if (html!=null)
return "<html>"+html.replace(/<a href="#([^>]*)">([^<]*)<\/a>/gi,"[[$2|$1]]")+"</html>";
},
CKvalues : {},
CKeditorUnavailable : "CKeditor was unavailable. Check plugin configuration and reload."
}
Story.prototype.previousGatherSaveEditHtml = Story.prototype.previousGatherSaveEditHtml ? Story.prototype.previousGatherSaveEditHtml : Story.prototype.gatherSaveFields; // to avoid looping if this line is called several times
Story.prototype.gatherSaveFields = function(e,fields){
if(e && e.getAttribute) {
var f = e.getAttribute("editHtml");
if(f){
var newVal = config.macros.editHtml.gather(e);
if (newVal) fields[f] = newVal;
}
this.previousGatherSaveEditHtml(e, fields);
}
};
config.shadowTiddlers.EditHtmlTemplate = config.shadowTiddlers.EditTemplate.replace(/macro='edit text'/,"macro='editHtml text'");
config.commands.editHtml={
text: "wysiwyg",
tooltip: "Rediger denne siden",
readOnlyText: "",
handler : function(event,src,title) {
clearMessage();
var tiddlerElem = document.getElementById(story.idPrefix + title);
var fields = tiddlerElem.getAttribute("tiddlyFields");
story.displayTiddler(null,title,"EditHtmlTemplate",false,null,fields);
return false;
}
}
config.shadowTiddlers.ViewTemplate = config.shadowTiddlers.ViewTemplate.replace(/\+editTiddler/,"+editTiddler editHtml");
//}}}
/***
|''Name:''|DeliciousTaggingPlugin|
|''Version:''|0.5|
|''Source''|http://tbGTD.tiddlyspot.com|
|''Author:''|[[TobiasBeer]]|
!Description
@@color:red;Mod of Jack's [[DeliciousTaggingPlugin|http://jackparke.googlepages.com/jtw.html]] to allow...
*custom tag-chosers
*tag-exclusion
@@
Allows easy tagging in the EditTemplate by showing all tags as a list of link-buttons.
Replace your the editorFooter div in your [[EditTemplate]] with the following:
{{{<div class='editorFooter' macro='deliciousTagging'></div>}}}
!Code
***/
//{{{
version.extensions.deliciousTagging={major: 0, minor: 1, revision: 0, date: new Date("June 11, 2007")};
config.macros.deliciousTagging={
catChose:"Tag this tiddler with '%0' its sub-tags or tiddlers tagging to them",
catList:'x-tagger config##Tags',
catsMore:['archive','reference'],
exclude:['noCloud','excludeLists'],
arrow:document.all?"▼":"▾",
handler:function(place,macroName,params,wikifier,paramString,tiddler){
if(tiddler instanceof Tiddler){
var b,c,g,t,tx,tg,tn,tgs,ex=[],x,xx=this.exclude,lng=config.views.editor.tagChooser;
for(tx=0;tx<xx.length;tx++){
x=store.getTaggedTiddlers(xx[tx]);
for(t=0;t<x.length;t++)ex.pushUnique(x[t].title);
}
g=store.getTiddlerText(this.catList);g=g?g.readBracketedList():[];
for(c=0;c<this.catsMore.length;c++)g.pushUnique(this.catsMore[c]);
for(c=0;c<g.length;c++){
if(!store.getTiddler(g[c]))continue;
b=createTiddlyButton(place,g[c]+this.arrow,this.catChose.format([g[c]]),this.clickCat);
b.setAttribute("tiddler",tiddler.title);b.setAttribute("tags",g[c]);
}
tgs=store.getTags();
for(t=0;t<tgs.length;t++){
tn=tgs[t][0];if(ex.contains(tn))continue;
tg=createTiddlyButton(place,tn,lng.tagTooltip.format([tn]),config.macros.tagChooser.onTagClick);
tg.setAttribute("tag",tn);tg.setAttribute("tiddler",tiddler.title);
place.appendChild(document.createTextNode(" "));
}
}
},
clickCat:function(e){
var b,pop,t,tg,ti,tgs=[],tgt,c,cx,lng=config.views.editor.tagChooser;
e=e||window.event;
pop=Popup.create(this);
t=this.getAttribute('tags');tgs.pushUnique('MAIN:'+t);
cx=store.getTaggedTiddlers(t);
for(c=0;c<cx.length;c++){
ti=cx[c].title;
tgs.pushUnique('GROUP:'+ti);
tgt=store.getTaggedTiddlers(ti);
for(t=0;t<tgt.length;t++)tgs.pushUnique(tgt[t].title);
}
for(t=0;t<tgs.length;t++){
tg=tgs[t];
if(tg.indexOf('MAIN:')==0)tg=ti=tg.substr(5);
else if(tg.indexOf('GROUP:')==0){tg=tg.substr(6);ti='\u00A0\u00A0'+tg;}
else ti='\u00A0\u00A0\u00A0\u00A0'+tg;
b=createTiddlyButton(createTiddlyElement(pop,"li"),ti,lng.tagTooltip.format([tg]),config.macros.tagChooser.onTagClick);
b.setAttribute("tiddler",this.getAttribute("tiddler"));b.setAttribute("tag",tg);
}
Popup.show();
e.cancelBubble = true;
if(e.stopPropagation) e.stopPropagation();
return false;
}
}
//}}}
Jeg lader eleverne trække nr-sedler. Hvert nummer forekommer 2 gange.<<tiddler udtalelsesSamarbejde with: [[MM]]>>
Mvh Måns
|borderless|k
|1|[[Opgave 1]] | ► | [[ad 1]]| → | Islam i Danmark |+++[se][luk]...<<tiddler [[Opgave 1]]>>===|
|2|[[Opgave 3]]| ► |[[ad 3]]| → | Jødedom i Danmark |+++[se][luk]...<<tiddler [[Opgave 3]]>>===|
|3|[[Opgave 6]]| ► |[[ad 6]]| → | De hellige skrifter |+++[se][luk]...<<tiddler [[Opgave 6]]>>===|
|4|[[Opgave 8]]| ► |[[ad 8]]| → | Kærlighed, Agape |+++[se][luk]...<<tiddler [[Opgave 8]]>>===|
|5|[[Opgave 10]]| ► |[[ad 10]]| → | Vielse og kærlighed |+++[se][luk]...<<tiddler [[Opgave 10]]>>===|
|6|[[Opgave 15]]| ► |[[ad 15]]| → | Verdens skabelse |+++[se][luk]...<<tiddler [[Opgave 15]]>>===|
|7|[[Opgave 16]]| ► |[[ad 16]]| → | Verdensbilleder |+++[se][luk]...<<tiddler [[Opgave 16]]>>===|
|8|[[Opgave 17]]| ► |[[ad 17]]| → | Syndefaldsmyten |+++[se][luk]...<<tiddler [[Opgave 17]]>>===|
|9|[[Opgave 18]]| ► |[[ad 18]]| → | Menneskets plads i verden |+++[se][luk]...<<tiddler [[Opgave 18]]>>===|
|10|[[Opgave 20]]| ► |[[ad 20]]| → | Når livet er slut |+++[se][luk]...<<tiddler [[Opgave 20]]>>===|
|11|[[Opgave 21]]| ► |[[ad 21]]| → | Når livet er slut |+++[se][luk]...<<tiddler [[Opgave 21]]>>===|
<<tiddler Oplæg>>
+++[se alle 21 oplæg][luk alle 21 oplæg]...
|[[Opgave 1]]: |
|[[Opgave 2]]: <<tiddler [[Opgave 2]]>>|
|[[Opgave 3]]: <<tiddler [[Opgave 3]]>>|
|[[Opgave 4]]: <<tiddler [[Opgave 4]]>>|
|[[Opgave 5]]: <<tiddler [[Opgave 5]]>>|
|[[Opgave 6]]: <<tiddler [[Opgave 6]]>>|
|[[Opgave 7]]: <<tiddler [[Opgave 7]]>>|
|[[Opgave 8]]: <<tiddler [[Opgave 8]]>>|
|[[Opgave 9]]: <<tiddler [[Opgave 9]]>>|
|[[Opgave 10]]: <<tiddler [[Opgave 10]]>>|
|[[Opgave 11]]: <<tiddler [[Opgave 11]]>>|
|[[Opgave 12]]: <<tiddler [[Opgave 12]]>>|
|[[Opgave 13]]: <<tiddler [[Opgave 13]]>>|
|[[Opgave 14]]: <<tiddler [[Opgave 14]]>>|
|[[Opgave 15]]: <<tiddler [[Opgave 15]]>>|
|[[Opgave 16]]: <<tiddler [[Opgave 16]]>>|
|[[Opgave 17]]: <<tiddler [[Opgave 17]]>>|
|[[Opgave 18]]: <<tiddler [[Opgave 18]]>>|
|[[Opgave 19]]: <<tiddler [[Opgave 19]]>>|
|[[Opgave 20]]: <<tiddler [[Opgave 20]]>>|
|[[Opgave 21]]: <<tiddler [[Opgave 21]]>>|
===
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div macro='tiddler QuickEditToolbar with: show'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser excludeLists'></span></div>
<!--}}}-->
Elever
<<snapshot print label:Udskrift prompt:Udskriv id:viewer>>
<<forEachTiddler
where
'tiddler.tags.contains("Elev")'
sortBy 'tiddler.title'
write
'(index < 200) ? "|!"+(index+1)+"|[["+tiddler.title+"]]|\n" : ""'
begin '"|sortable|k\n|!#| Navn |h\n"'
end 'count+" elever\n"'
none '"Ingen elever\n"'
>>
/%
<<forEachTiddler
where
'tiddler.tags.contains("Elev")'
sortBy 'tiddler.title'
write
'(index < 200) ? "|!"+(index+1)+"|[["+tiddler.title+"]]|@@"+tiddler.text+"@@|"+tiddler.tags+"|[["+tiddler.fields["k-gruppe"]+"]]|[["+tiddler.fields["gang"]+"]]|[["+tiddler.fields["kl"]+"]]|[["+tiddler.fields["vaerelse"]+"]]|[img(2em+,)["+store.getValue(tiddler,"title")+"|"+store.getValue(tiddler,"billede")+"]["+tiddler.title+"]] [[Link|"+tiddler.fields["billede"] +"]]|\n" : ""'
begin '"|sortable|k\n|!#|Navn|trækning|tags|k-gruppe|gang|kl|værelse|billede|h\n"'
end 'count+" elever\n"'
none '"Ingen elever\n"'
>>
{{tuduSlider{<<slider chkFelter Felter 'Alle felter »'>>}}}%/
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'> </span></span><span macro='email to:"mama@himmerlands-ungdomsskole.dk" permalink:"true"'></span></div><div <span class='title breakbefore'><span macro='view title'></span></div>
</span><span class='subtitle'><span style='white-space:nowrap' macro='view modified date [[DDD, DDe MMM YYYY]]'></span><td<span class macro='snapshot print label:print prompt:Udskriv id:story'></span></td><td\n
<div class='tagClear'></div><span macro='tiddler udtalelsesSamarbejde with:{{tiddler.title}}'></span>
<div <span class='menubox' style='float:center;margin:0em'
<div class='viewcontainer'><span macro='wikify [img(13em+,)[%1|%0.jpg][%1-Note]] title@here title@here'>
</span><span class='small' macro='tiddler "Skema til karaktervurdering"'></span></div>
<div <span macro='wikify "//@@bgcolor(#99ff33):Meddelelse til lærer:@@//"'</span><span class macro='editTiddler'></span><span macro='wikify "@@color(#cc0000): %0@@" text'</span></span>
<div <span class='menubox' style='float:center;margin:0em' macro='notes heading:"NoteArkiv" tag:"NoteArkiv" suffix:"Note"'> </span></div>
<div class='tagClear'></div>
<!--}}}-->
<script>
var out=[];
var exclude=['Fag','fag','opgave','projekt','mål','Mandag','Tirsdag','Onsdag','Torsdag','Fredag','Dansk','Engelsk','Tysk','Matematik','FysikKemi','ValgFag','AndreFag'];
var fmt='|[[%0]]|';
var here=story.findContainingTiddler(place); if (!here) return;
var tid=store.getTiddler(here.getAttribute('tiddler'));
if (tid.tags.length) out.push('|Elever på holdet|h\n|sortable|k');
for (var t=0; t<tid.tags.length; t++)
if (!exclude.contains(tid.tags[t]))
out.push(fmt.format([tid.tags[t]]));
return out.join('\n');
</script>
<<tiddler TypeButton2##PopOut with: "http://etik.tiddlyspot.com" popout>>
<html><div align="center"><iframe src="http://etik.tiddlyspot.com" frameborder="0" width="100%" height="900"></iframe></div></html>
[<img[http://www.kommunikationsforum.dk/img/cache/ProfileImage/FECED784B2CA1241A639362A4EED85A2C58AB01F.jpg]] Henrik Dahl
forfatter
Det er en fornærmelse imod ethvert oplyst menneske at påstå, at himlen og jorden er skabt på seks dage af et guddommeligt væsen. På den anden side er der ikke mange, der af hele deres hjerte bekender sig til en flad materialisme. Altså en forestilling om, at vi selv kun er omfattet af nøjagtig de samme principper som den øvrige natur. Hverken mere eller mindre.
I en sådan verden ville der ikke være nogen grund til at elske eller hade. Ej heller til at håbe eller frygte. Derfor mener de fleste danskere, at the big bang og Darwin nok skal passe, men at der findes et højere væsen eller princip, som giver eksistensen en mening og bevirker, at det hele trods alt ikke kan være lige meget.
Hvis en præst i Folkekirken drister sig til at mene som de fleste af sine trosfæller i Folkekirken, er den imidlertid rent gal. Troede sognepræsten i Taarbæk, Torben Grosbøll, ikke tidligere på opstandelsen, har han nu fået den at føle på egen krop. Efter han har sagt, hvad de fleste mener, er om ikke fanden, så dog i det mindste bispen over Helsingør stift, løs.
Jeg er både døbt og konfirmeret, og har det fint med begge dele. Jeg er ikke nogen flittig kirkegænger, men jeg er glad for at være en del af den sammenhæng, som kirken trods alt er. Ikke mindst fordi det i både store og svære øjeblikke betyder noget for mig, at jeg ikke skal nøjes med de mere eller mindre løsrevne og tilfældige ord, min omverden måske og måske ikke får fremstammet. Essensen i mit forhold til kirken er altså hverken metafysisk - at der sidder en usynlig mand i himlen - eller fysisk: at jeg bevæger mig rundt i en skabt verden. Essensen er, at jeg finder biblens ord gyldige og at det giver mig perspektiv og proportioner at vide, at de ord, der lyder for mig og mine kære, har lydt på samme måde for titusindvis af mennesker længere tilbage, end nogen kan huske.
Jeg vil gerne redegøre for, hvordan jeg kan kalde mig selv rationalist og alligevel tænke sådan. Så kan Folkekirken ekskommunikere mig bagefter, hvis den efter Grosbøll-sagen har brug for at statuere flere eksempler.
Efter min opfattelse er det fuldstændig rigtigt, at mennesket ikke kan leve uden tro. Nogle af tilværelsens mest fundamentale aspekter ville være utænkelige, hvis ikke vi blot gav os troen i vold og antog det, vi ikke kan vide. Når det gælder noget så afgørende som tillid, har vi ingen som helst viden, der berettiger den antagelse, at vi kan stole på det menneske, der står over for os. Alligevel gør vi det, for vi kan ikke andet. Altså kan man sige, at det kun er troen på det gode i mennesket, der bringer os videre.
På samme måde med beslutninger. Man kan aldrig vide, hvad der vil ske. Derfor hjælper det ikke at dynge viden sammen i håb om, at den til sidst vil eliminere uvisheden. Det vil den aldrig. Hvis man skal fatte en beslutning, er den gyldne regel derfor, at man bør tro det bedste. En af de få undtagelser er trafikken. Her kan jeg konstatere, at jeg har kørt skadefrit i 25 år takket være min kørelærers vise ord om, at man altid bør at tro det værste om enhver medtrafikant.
Essensen af disse eksempler er, at hvis man er bange for livet, vil man miste det lang tid inden man dør. Ganske som det går manden, der nedgraver sine penge i lignelsen om de betroede talenter. Og det bringer mig direkte videre til det næste spørgsmål: hvad skal et moderne menneske mene om biblen?
Hvis man forholdt sig til biblen som om den var et leksikon, hvori man kunne slå op og finde en række oplysninger om universets tilblivelse, diverse navngivne personers liv og levned, begivenheder disse mennesker har været involveret i samt endelig de krav, disse mennesker (og navnlig ét af dem) stiller til ens livsførelse, ville konsekvensen være stagnation, fordummelse, formørkelse og umenneskelighed. Altså hele fundamentalismens sædvanlige godtepose.
Derfor er man nødt til at fastholde, at med biblen er det som med enhver anden myte: intet er sandt, og alt er dog gyldigt. Vel at bemærke, hvis man kan tilslutte sig mig denne myte. Ellers har den selvfølgelig hverken kraft eller gyldighed. Det afgørende i biblen er således ikke alt det fornuftsstridige, men mytens overordnede budskab, der kommer mest klart til udtryk i bjergprædikenen: intet menneske kan påstå, at han i nogen som helst religiøs eller moralsk henseende er bedre end andre. Det vi gør, bliver aldrig godt nok – men ikke desto mindre er ethvert menneske godt nok, som det er.
I en verden, der ikke er blevet mindre fyldt af farisæere, kontrolfreaks og magtmennesker, siden evangelierne blev nedskrevet, giver dette budskab mig troen til at komme videre. Altså opfatter jeg det bibelske budskab som eksistentielt befriende. Så hvis Torben Grosbøll ikke vil eller må sige det, gør jeg det gerne: for et moderne menneske giver det ingen mening at tro på gud – men det giver al mening at tro på biblen.
/***
|Name|HTMLFormattingPlugin|
|Source|http://www.TiddlyTools.com/#HTMLFormattingPlugin|
|Documentation|http://www.TiddlyTools.com/#HTMLFormattingPluginInfo|
|Version|2.4.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|embed wiki syntax formatting inside of HTML content|
The ~HTMLFormatting plugin allows you to ''mix wiki-style formatting syntax within HTML formatted content'' by extending the action of the standard TiddlyWiki formatting handler.
!!!!!Documentation
>see [[HTMLFormattingPluginInfo]]
!!!!!Configuration
<<<
Use {{{<hide linebreaks>}}} within HTML content to wiki-style rendering of line breaks. To //always// omit all line breaks from the rendered output, you can set this option:
><<option chkHTMLHideLinebreaks>> ignore all line breaks
which can also be 'hard coded' into your document by adding the following to a tiddler, tagged with <<tag systemConfig>>
>{{{config.options.chkHTMLHideLinebreaks=true;}}}
<<<
!!!!!Revisions
<<<
2010.05.07 2.4.1 added chkHTMLHideLinebreaks option
| see [[HTMLFormattingPluginInfo]] for additional revision details |
2005.06.26 1.0.0 Initial Release (as code adaptation - pre-dates TiddlyWiki plugin architecture!!)
<<<
!!!!!Code
***/
//{{{
version.extensions.HTMLFormattingPlugin= {major: 2, minor: 4, revision: 1, date: new Date(2010,5,7)};
// find the formatter for HTML and replace the handler
initHTMLFormatter();
function initHTMLFormatter()
{
for (var i=0; i<config.formatters.length && config.formatters[i].name!="html"; i++);
if (i<config.formatters.length) config.formatters[i].handler=function(w) {
if (!this.lookaheadRegExp) // fixup for TW2.0.x
this.lookaheadRegExp = new RegExp(this.lookahead,"mg");
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var html=lookaheadMatch[1];
// if <nowiki> is present, just let browser handle it!
if (html.indexOf('<nowiki>')!=-1)
createTiddlyElement(w.output,"span").innerHTML=html;
else {
// if <hide linebreaks> is present, or chkHTMLHideLinebreaks is set
// suppress wiki-style literal handling of newlines
if (config.options.chkHTMLHideLinebreaks||(html.indexOf('<hide linebreaks>')!=-1))
html=html.replace(/\n/g,' ');
// remove all \r's added by IE textarea and mask newlines and macro brackets
html=html.replace(/\r/g,'').replace(/\n/g,'\\n').replace(/<</g,'%%(').replace(/>>/g,')%%');
// create span, let browser parse HTML
var e=createTiddlyElement(w.output,"span"); e.innerHTML=html;
// then re-render text nodes as wiki-formatted content
wikifyTextNodes(e,w);
}
w.nextMatch = this.lookaheadRegExp.lastIndex; // continue parsing
}
}
}
// wikify #text nodes that remain after HTML content is processed (pre-order recursion)
function wikifyTextNodes(theNode,w)
{
function unmask(s) { return s.replace(/\%%\(/g,'<<').replace(/\)\%%/g,'>>').replace(/\\n/g,'\n'); }
switch (theNode.nodeName.toLowerCase()) {
case 'style': case 'option': case 'select':
theNode.innerHTML=unmask(theNode.innerHTML);
break;
case 'textarea':
theNode.value=unmask(theNode.value);
break;
case '#text':
var txt=unmask(theNode.nodeValue);
var newNode=createTiddlyElement(null,"span");
theNode.parentNode.replaceChild(newNode,theNode);
wikify(txt,newNode,highlightHack,w.tiddler);
break;
default:
for (var i=0;i<theNode.childNodes.length;i++)
wikifyTextNodes(theNode.childNodes.item(i),w); // recursion
break;
}
}
//}}}
/*{{{*/
/* This is the selector of the header, here's where we establish the measures, background colors, borders and shadows */
.header{
margin: 0px;
min-height: 100px;
width: 99.5%;
padding: 5px 0 ;
position:relative;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 100%, from(#fff), to(#fff), color-stop(.2, #f2f2f2));
background: -moz-linear-gradient(0% 0% 360deg, #fff, #f2f2f2 20%, #fff );
border: 1px solid #ccc;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
/* This is the top right shadow*/
.header:before{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
}
/* This is the top left shadow*/
.header:after{
content: '';
width: 50px;
height: 50px;
top:0; left:0;
position:absolute;
z-index:-1;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
-o-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
}
/* This is the bottom right shadow */
.shr_header{
width: 100px;
height: 100px;
bottom:0; right:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
}
/* This is the bottom left shadow */
.shl_header{
content: '';
width: 100px;
height: 100px;
bottom:0; left:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
-moz-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
-o-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
}
/*}}}*/
/***
|Name|ImageSizePlugin|
|Source|http://www.TiddlyTools.com/#ImageSizePlugin|
|Version|1.2.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|adds support for resizing images|
This plugin adds optional syntax to scale an image to a specified width and height and/or interactively resize the image with the mouse.
!!!!!Usage
<<<
The extended image syntax is:
{{{
[img(w+,h+)[...][...]]
}}}
where ''(w,h)'' indicates the desired width and height (in CSS units, e.g., px, em, cm, in, or %). Use ''auto'' (or a blank value) for either dimension to scale that dimension proportionally (i.e., maintain the aspect ratio). You can also calculate a CSS value 'on-the-fly' by using a //javascript expression// enclosed between """{{""" and """}}""". Appending a plus sign (+) to a dimension enables interactive resizing in that dimension (by dragging the mouse inside the image). Use ~SHIFT-click to show the full-sized (un-scaled) image. Use ~CTRL-click to restore the starting size (either scaled or full-sized).
<<<
!!!!!Examples
<<<
{{{
[img(100px+,75px+)[images/meow2.jpg]]
}}}
[img(100px+,75px+)[images/meow2.jpg]]
{{{
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img( 1%+,+)[images/meow.gif]]
}}}
[<img(34%+,+)[images/meow.gif]]
[<img(21% ,+)[images/meow.gif]]
[<img(13%+, )[images/meow.gif]]
[<img( 8%+, )[images/meow.gif]]
[<img( 5% , )[images/meow.gif]]
[<img( 3% , )[images/meow.gif]]
[<img( 2% , )[images/meow.gif]]
[img( 1%+,+)[images/meow.gif]]
{{tagClear{
}}}
<<<
!!!!!Revisions
<<<
2011.09.03 [1.2.3] bypass addStretchHandlers() if no '+' suffix is used (i.e., not resizable)
2010.07.24 [1.2.2] moved tip/dragtip text to config.formatterHelpers.imageSize object to enable customization
2009.02.24 [1.2.1] cleanup width/height regexp, use '+' suffix for resizing
2009.02.22 [1.2.0] added stretchable images
2008.01.19 [1.1.0] added evaluated width/height values
2008.01.18 [1.0.1] regexp for "(width,height)" now passes all CSS values to browser for validation
2008.01.17 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.ImageSizePlugin= {major: 1, minor: 2, revision: 3, date: new Date(2011,9,3)};
//}}}
//{{{
var f=config.formatters[config.formatters.findByField("name","image")];
f.match="\\[[<>]?[Ii][Mm][Gg](?:\\([^,]*,[^\\)]*\\))?\\[";
f.lookaheadRegExp=/\[([<]?)(>?)[Ii][Mm][Gg](?:\(([^,]*),([^\)]*)\))?\[(?:([^\|\]]+)\|)?([^\[\]\|]+)\](?:\[([^\]]*)\])?\]/mg;
f.handler=function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart) {
var floatLeft=lookaheadMatch[1];
var floatRight=lookaheadMatch[2];
var width=lookaheadMatch[3];
var height=lookaheadMatch[4];
var tooltip=lookaheadMatch[5];
var src=lookaheadMatch[6];
var link=lookaheadMatch[7];
// Simple bracketted link
var e = w.output;
if(link) { // LINKED IMAGE
if (config.formatterHelpers.isExternalLink(link)) {
if (config.macros.attach && config.macros.attach.isAttachment(link)) {
// see [[AttachFilePluginFormatters]]
e = createExternalLink(w.output,link);
e.href=config.macros.attach.getAttachment(link);
e.title = config.macros.attach.linkTooltip + link;
} else
e = createExternalLink(w.output,link);
} else
e = createTiddlyLink(w.output,link,false,null,w.isStatic);
addClass(e,"imageLink");
}
var img = createTiddlyElement(e,"img");
if(floatLeft) img.align="left"; else if(floatRight) img.align="right";
if(width||height) {
var x=width.trim(); var y=height.trim();
var stretchW=(x.substr(x.length-1,1)=='+'); if (stretchW) x=x.substr(0,x.length-1);
var stretchH=(y.substr(y.length-1,1)=='+'); if (stretchH) y=y.substr(0,y.length-1);
if (x.substr(0,2)=="{{")
{ try{x=eval(x.substr(2,x.length-4))} catch(e){displayMessage(e.description||e.toString())} }
if (y.substr(0,2)=="{{")
{ try{y=eval(y.substr(2,y.length-4))} catch(e){displayMessage(e.description||e.toString())} }
img.style.width=x.trim(); img.style.height=y.trim();
if (stretchW||stretchH) config.formatterHelpers.addStretchHandlers(img,stretchW,stretchH);
}
if(tooltip) img.title = tooltip;
// GET IMAGE SOURCE
if (config.macros.attach && config.macros.attach.isAttachment(src))
src=config.macros.attach.getAttachment(src); // see [[AttachFilePluginFormatters]]
else if (config.formatterHelpers.resolvePath) { // see [[ImagePathPlugin]]
if (config.browser.isIE || config.browser.isSafari) {
img.onerror=(function(){
this.src=config.formatterHelpers.resolvePath(this.src,false);
return false;
});
} else
src=config.formatterHelpers.resolvePath(src,true);
}
img.src=src;
w.nextMatch = this.lookaheadRegExp.lastIndex;
}
}
config.formatterHelpers.imageSize={
tip: 'SHIFT-CLICK=show full size, CTRL-CLICK=restore initial size',
dragtip: 'DRAG=stretch/shrink, '
}
config.formatterHelpers.addStretchHandlers=function(e,stretchW,stretchH) {
e.title=((stretchW||stretchH)?this.imageSize.dragtip:'')+this.imageSize.tip;
e.statusMsg='width=%0, height=%1';
e.style.cursor='move';
e.originalW=e.style.width;
e.originalH=e.style.height;
e.minW=Math.max(e.offsetWidth/20,10);
e.minH=Math.max(e.offsetHeight/20,10);
e.stretchW=stretchW;
e.stretchH=stretchH;
e.onmousedown=function(ev) { var ev=ev||window.event;
this.sizing=true;
this.startX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
this.startY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
this.startW=this.offsetWidth;
this.startH=this.offsetHeight;
return false;
};
e.onmousemove=function(ev) { var ev=ev||window.event;
if (this.sizing) {
var s=this.style;
var currX=!config.browser.isIE?ev.pageX:(ev.clientX+findScrollX());
var currY=!config.browser.isIE?ev.pageY:(ev.clientY+findScrollY());
var newW=(currX-this.offsetLeft)/(this.startX-this.offsetLeft)*this.startW;
var newH=(currY-this.offsetTop )/(this.startY-this.offsetTop )*this.startH;
if (this.stretchW) s.width =Math.floor(Math.max(newW,this.minW))+'px';
if (this.stretchH) s.height=Math.floor(Math.max(newH,this.minH))+'px';
clearMessage(); displayMessage(this.statusMsg.format([s.width,s.height]));
}
return false;
};
e.onmouseup=function(ev) { var ev=ev||window.event;
if (ev.shiftKey) { this.style.width=this.style.height=''; }
if (ev.ctrlKey) { this.style.width=this.originalW; this.style.height=this.originalH; }
this.sizing=false;
clearMessage();
return false;
};
e.onmouseout=function(ev) { var ev=ev||window.event;
this.sizing=false;
clearMessage();
return false;
};
}
//}}}
Lagt på www.religion.dk d. 24. oktober 2005 kl. 12:42 Immanuel Kant (1724–1804)
|[img(100%+,)[http://www.kristendom.dk/modules/xphoto/cache/33/160033_163_256.jpg]]|
| ~~- Handl kun efter den grundregel,<br> som du samtidig kan ønske <br>bliver en almengyldig lov, <br>sagde den tyske filosof Kant~~ |
Kant, der selv var et troende menneske, mente, at det var umuligt at bevise Guds eksistens. Han ville finde moralske principper, der skulle gælde for alle mennesker og endte med en formulering, der minder om den gyldne regel.
Af Asbjørn Petersen
Immanuel Kant blev født i 1724 i Königsberg i det daværende Tyskland. Indtil sin død i 1804 boede han i denne by. Kants forældre var kristne, og han var selv meget taknemmelig for den opdragelse, de havde givet ham.
Som 16-årig begyndte Kant på universitetet i Königsberg, hvor han studerede både teologi, fysik og filosofi. Efter han som 22-årig havde færdiggjort uddannelsen, underviste han i en periode som privatlærer. Da han var omkring de 30 år, begyndte han selv at undervise på universitetet i sin hjemby.
Königsbergs universitet var berygtet for at være det dårligste i datidens Tyskland, og Kant var ikke altid ansat på de bedste vilkår. Alligevel afslog han alle de tilbud, han fik fra universiteter andre steder i landet, hvor man ønskede at ansætte ham som professor. Kant blev allerede i sin samtid berømt i hele Tyskland, og salene var fyldte, når han underviste.
Kant levede efter sigende et meget regelmæssigt liv. Han stod op hver morgen klokken 5 og forberedte sig til undervisningen, der begyndte klokken 7. Efter endt undervisning skrev han tekster indtil klokken 13. Til middag spiste han enten ude eller inviterede nogle venner. Når Kant havde gæster til middag, var det altid mellem tre og ni personer. De fik tre retter mad og en halv flaske vin, og de måtte ikke tale om filosofi, fordi Kant havde brug for en pause fra tankerne. Klokken 19 gik han hver dag nøjagtigt den samme tur, og klokken 22 gik han i seng, hvorefter næste dag fulgte det samme skema.
{{center{''Intet bevis for at Gud er til''}}}
Flere filosoffer før Kant havde ment, at de kunne bevise Guds eksistens. To store kristne tænkere, nemlig Descartes og Leibniz, benyttede sig begge af det ontologiske gudsbevis. De sagde: Hvis mennesket forestiller sig Gud som et fuldkomment væsen, så må han også eksistere. Noget kan nemlig ikke være fuldkomment, hvis det ikke eksisterer.
Kant mente, at denne tankegang var helt forkert. Hundrede kroner, som man blot forestiller sig, har de samme egenskaber, som de hundrede kroner, der findes i min pung, tænkte Kant. Han kunne derfor sagtens forestille sig noget, der var fuldkomment, uden at det eksisterede. At eksistere er nemlig ikke en egenskab ved en ting, sagde Kant.
{{center{''Etik uden Gud''}}}
Selv om Kant troede på Gud, så mente han ikke, at religionen var nødvendig, for at mennesket kan have en etik og moral. Faktisk ville han tværtimod formulere etiske regler, der gælder for alle mennesker, uanset om de er troende eller ej. Han mente nemlig, at moralens bud gælder, fordi de er logiske, og ikke fordi de er givet af Gud.
Kant forklarede, at det er ulogisk at sige, at man gerne må stjæle. Hvis det er helt lovligt at stjæle, så er der jo ikke nogen, der ejer noget, og så kan man ikke tage noget fra dem. Hvis man siger, at det er i orden at lyve, og at alle mennesker gerne må gøre det, så tror ingen på hinanden, og så er det til sidst umuligt at snyde nogen.
Kants pointe med eksemplerne var, at mennesket i sin etik er nødt til at formulere nogle love, som gælder for alle mennesker. Hvis det ikke sker, ender man med at modsige sig selv. Derfor formulerede han et princip, der er blevet kaldt det kategoriske imperativ: ”Handl kun efter den grundregel, som du samtidig kan ønske bliver en almengyldig lov.”
Kant skrev, at mennesket altid skal vurdere alle påstande selv, og at man ikke skal tro blindt på nogen menneskelige autoriteter. Dermed formulerede han den centrale tanke i oplysningstiden, hvor menneskets viden og tiltro til egne evner voksede enormt.
{{center{''Menneskets synsvinkel''}}}
Selvom Kant i det ydre levede et stille og rutinepræget liv, så var han som filosof på alle måder en nytænker. Han byggede bro mellem modstridende opfattelser. Kants samtid var præget af en enorm skepsis, som han tog alvorligt, men som han også søgte at finde vej ud af.
Kant beskæftigede sig meget med teorien om, hvad erkendelse er, og han mente, at rationalisterne, altså de filosoffer, der baserer deres argumenter på fornuften, burde forholde sig mere til den virkelighed, der kan ses, høres og røres. Omvendt argumenterede han også for, at verden ikke blot kan erkendes ved at se, høre eller røre. Store dele af virkeligheden var ifølge Kant ikke sansbar.
Mennesket erkender hele tiden verden ud fra et bestemt perspektiv, sagde Kant. Det er en nødvendig betingelse for, at mennesket kan erkende noget, at det placeres ind i tid og rum. Men hverken den tid eller det rum, der er menneskets perspektiv, kan selv sanses, sagde Kant. Den egentlige virkelighed bagved fremtrædelserne i tid og rum kaldte Kant das Ding an sich (på dansk: tingen i sig selv). Der er altså en afgørende forskel på verden, sådan som den ser ud for mennesket, og sådan som den er i sig selv.
Fordi mennesket ikke kan undgå at opfatte verden på én bestemt måde, så ser det ikke virkeligheden, sådan som den er i sig selv uafhængigt af den menneskelige erkendelse. På den måde bliver det umuligt for mennesket at erkende alt.
I eftertiden har Kant fået enorm indflydelse. Hans tanker om etik spiller stadig en stor rolle i den moderne verden. Tankerne om erkendelse har på flere punkter revolutioneret filosoffernes tankegang. Teologerne har også måtte forholde sig til argumenterne for en etik uden Gud og kritikken af gudsbeviserne.
{{center{''Vigtigste værker''}}}
Tre af Kants vigtigste værker er:
Kritik af den rene fornuft (1781)
Grundlæggelse af moralens metafysik (1785)
Hvad er oplysning (1784)
For at komme i gang med denne tomme tiddlywiki, skal du ændre på de følgende tiddlere:
* SiteTitle & SiteSubtitle: Sidens titel og undertitel, som vist øverst (efter de er gemt, vil de også vise sig i browserens titelmenu)
* MainMenu: er hovedmenuen (oftest placeret til venstre)
* DefaultTiddlers: Indeholder navnene på de tiddlere du vil have skal starte op når du åbner TiddlyWiki
Du skal også skrive dit brugernavn for at signere dine redigeringer: <<option txtUserName>>
/%Oversigt %/
@@font-family:"Comic Sans MS";
!Evnen til at undre sig.
!!Menneskets plads i verden – Tanker om meningen med det hele.
Med udgangspunkt i "[[Etik i fem verdensreligioner|Etik]]" på religion.dk er der blevet samtalt om etik & moralbegreber.
Etiske yderpunkter f.eks: dyds- og konsekvensetik og hvordan de viser sig i de forskellige religioners fortolkning af eget værdigrundlag.
Begreber: reinkarnation, karma, tabu, materialisme, filosofi, politik, videnskab, religiøsitet. Tro kontra videnskab. - En mulighed for begge opfattelser kan eksistere side om side.
Begrundelser for at beskæftige sig med undren og tro.@@
|widetable borderless|k
|[[Opgivelser]] i kristendom HU 2010|
|<<tiddler Kristendom>>|
|<<tiddler ScrollBox with: [[Materialer]] 210px>>|
|//Link- her//: [[Etik]]|
|<<tiddler [[Etik]]>>|
Mvh [[MM]]
|outline floatleft|k
|gruppe| [[Voicethreads|http://voicethread.com]] |h
|>| Buddhisme |
|Maria & Katrine| [[link|http://voicethread.com/share/1018608/]] |
|Tobias, Gitte og Steffen| [[link|http://voicethread.com/share/1056703/]] |
|Thomas| [[link|http://voicethread.com/#u756072.b1018601.i5430933]] |
|Sille og Sissel og Michael| [[link|http://voicethread.com/share/991990/]] |
|>| Jødedom |
|Michelle, Nulle og Anne| [[link|http://voicethread.com/#e1058006]] |
|||
|Tenna, Kathrine, Christoffer og ~JensPeter| [[link|http://voicethread.com/?#q.b1044319.i5568630]] |
|>| Hinduisme |
|Anders og Michaell| [[link|http://voicethread.com/share/988580/]] |
|Anders og Rune| [[link|http://voicethread.com/share/979918/]] |
|Stine og Maja og Rikke| [[link|http://voicethread.com/share/993311/]] |
|>| Islam |
|Thilde, Magnus & Ásta Kristín| [[link|http://voicethread.com/#u756107.b1058005.i5646084]] |
|Lars Henrik og Erik| [[link|http://voicethread.com/share/979886/]] |
|Alex og Jonas| [[link|http://www.voicethread.com/#u833121.b1044312]] |
|>| Kristendom (Her mangler der ~VoiceThreads!!) |
|Louise, Helene & Lotte|Dåb,seksualitet, indre mission og sange....|
|Katrine og Pernille|Påskedagene|
|Anette, Kathrine Hejsel, Frederikke|??|
|Marika, Louise| Dåb [[link|http://voicethread.com/share/1068740/]] |
|outline floatright|k
|hold|dag| notater |
|~KristA|tirsdag|[[link|http://typewith.me/hu2010krista]]|
|~KristB|mandag|[[link|http://typewith.me/hu2010kristb]]|
|~KristC|torsdag|[[link|http://typewith.me/hu2010kristc]]|
+++[Kristendom udtalelse]
| Kristendom med <<view modifier link>> |c
|periode|karakter|h
|efterår|<<wikify [[%0]]'here::efterår'>>|
|forår|<<wikify [[%0]]'here::forår'>>|
<<view created date [[DD MMM YYYY]]>>
<<wikify %0 KristendomsUdtalelse##efteraar>>
<<view created date [[DD MMM YYYY]]>>
<<wikify %0 KristendomsUdtalelse##forår>>
===
@@font-family:"Comic Sans MS";
Alle opgaver består af 3 spørgsmål, efter recepten:
# Refererende
# Sammenlignende
# Perspektiverende
Nogle af opgaverne er tekstuddrag fra bogen ”Religion i øjenhøjde” - og jeg har tilstræbt at "kilderne" skal kunne "tale for sig selv" - dvs. uanset paratviden, bør alle kunne gøre rede for kildernes indhold og besvare spørgsmål 2.
Der er 3 grønlandske elever (Ella, Tanja og Vigga) på holdet.
Jeg har placeret dem således at de går op lige efter hinanden, dvs. 10:25 - 11:25...
De læser alle 3 udmærket - men ingen af dem er gode til dansk. De er derfor i en lidt anden kategori end resten af holdet.
Alligevel lader jeg dem trække samme opgaver som de andre.
Hvis du synes en opgave er for svær, må du endelig sige til.
Jeg har mulighed for at skifte opgaver ud meget hurtigt, eftersom jeg har en del på lager.
Alt kan tilgås på nettet via denne adresse http://mama.bplaced.net/kristendom.
Her kan du også se de 11 andre opgaver jeg IKKE valgte at bruge i denne omgang.
Brugernavn: Anitta
Kode: kultur
Jeg har samlet alle oplæg + de fleste af de opgivne kilder i [[en pdf-portefølje her|http://dl.dropbox.com/u/3105342/Arbejde/PorteF-2011.pdf]] ^^Download ved at højreklikke og vælge "gem link som"^^~~NB: Tålmodighed - filen er mindst 7 mb!!~~
Her er links til de individuelle oplæg -
Opg1:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%201.pdf]], Opg3:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%203.pdf]], Opg6:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%206.pdf]], Opg8:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%208.pdf]], Opg10:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2010.pdf]], Opg15:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2015.pdf]], Opg16:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2016.pdf]], Opg17:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2017.pdf]], Opg18:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2018.pdf]], Opg20:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2020.pdf]], Opg21:[[Link|http://dl.dropbox.com/u/3105342/Arbejde/ad%2021.pdf]]
Mvh Måns Mårtensson, tlf: 25344884 mail: mama@himmerlands-ungdomsskole.dk
Kristendomsklassernes hjemmeside for i år: http://kristendom.tiddlyspace.com
Hjemmesiden til kristendomsprøven i år: http://mama.bplaced.net/kristendom
Ditto forrige år: http://kristendom.tiddlyspot.com
og: http://kristendoms.tiddlyspot.com
(Den sidste kræver brugernavn: kristendoms kode: kultur)
Elevernes noter og links til egne voicethreads (podcasts) ligger her:
# http://kristendom.tiddlyspace.com/#kristx
# http://kristendom.tiddlyspace.com/#kristy
# http://kristendom.tiddlyspace.com/#kristz
En side jeg lavede forrige år, og har brugt udvalgte materialer fra:
http://etik.tiddlyspot.com
Se især http://etik.tiddlyspot.com/#EtikFolder (Som pdf: http://tinyurl.com/29crmzu)
God læsning!
@@
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
major: 1, minor: 1, revision: 0,
date: new Date("mar 17, 2007"),
source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};
if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};
bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){
url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
}
return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
<<tiddler udtalelsesSamarbejde with:[[MM]]>><<forEachTiddler where 'tiddler.tags.contains("Elev")'
sortBy 'tiddler.title.toUpperCase()'
script
'
function getFirstLine(s) {
var m = s.match(/\s*(.*)/);
return m != null && m.length >= 1 ? m[1] : "";
}
'
write
'(index < 200)? "|"+(index+1)+"|[["+tiddler.title+"]] |[img(3em+,)["+store.getValue(tiddler,"title")+"|"+store.getValue(tiddler,"title")+".jpg]["+tiddler.title+"]] |<<tiddler udtalelsesSamarbejde with:[["+tiddler.title+"]]\>\> | <<editTiddler [["+tiddler.title+"]]$))|@@color(#cc0000):→~~//"+getFirstLine(tiddler.text)+"//~~@@ |\n" : ""'
begin '"|sortable widetable|k\n"
+"|>|!<<wikify [[%0]] fuldenavn@here \>\> | | || <<tiddler OpretNyElevUdtalelseKnap \>\> |h\n"
+"|!#| !<<wikify [img(7em+,)[%1|%0][%1]] billede@here fuldenavn@here \>\> || !Noter |>| !@@color(#cc0000):Kommentar@@ |h\n"'
end 'count+" elever\n"' none '"ingen elever \n"'>>
<<tiddler RefreshTiddler with: "Opfrisk" "Gem ændringer til denne tiddler - hvis online">><html><center>
<td <b>Fast vagtdag:</b><select name=vagt >
<option> Mandag
<option> Tirsdag
<option> Onsdag
<option> Torsdag
<option> Fredag
</select ><b>Ganglærer på:</b> <select name=Gang >
<option>G
<option>K
<option>M
<option>N
<option>P
<option>S
<option>St
<option>T
<option>V
<option>Ø
</select >
</td><table><td valign="top"><b>Telefon:</b></sub>
<input name=Telefon type=text/></td>
</tr></table><td valign="top"><b>Besked - noter:</b>
<TEXTAREA name=besked rows=2 cols=30 ></TEXTAREA><p/></td></tr>
</center></html>
<!--{{{-->
<div class='title' macro='view title'></div>
<div class='toolbar' macro='toolbar +saveTiddler closeOthers -cancelTiddler deleteTiddler wikibar'></div>
<div style='clear:both'></div>
<div class='viewer'>
<table class='borderless' style='width:100%'><tr>
<td style='width:10%'>
<div class='small'>LærerInitialer (tiddler navn):</div>
<div class='editor' macro='select title rows:1 width:100% allowBlank allowOther +LærerListe allowEdit'></div>
<div class='small'>Tlf (må videregives):</div>
<div class='editor' macro='select telefon rows:1 width:100% allowBlank allowOther +TelefonListe allowEdit'></div>
<div class='small'>Ganglærer på:</div>
<div class='editor' macro='select gang rows:1 width:100% allowBlank allowOther +GangListe allowEdit'></div>
<div class='small'>Fast ugentlig vagtdag:</div>
<div class='editor' macro='select vagt rows:1 width:100% allowBlank allowOther Mandag Tirsdag Onsdag Torsdag Fredag Lørdag Søndag '></div>
</td><td style='width:20%'>
<div class='small'>Fulde navn:</div>
<div class='editor' macro='select fuldenavn rows:1 width:100% allowBlank allowOther +LærerListe allowEdit'></div>
<div class='small'>Email:</div>
<div class='editor' macro='select email rows:1 width:100% allowBlank allowOther +EmailListe allowEdit'></div>
<div class='small'>billede URL (jpg/gif):</div>
<div class='editor' macro='edit billede'></div>
</td></table>
<div class='small borderless'><span class='small'>Note (tekst):</span></div>
<div class='editor' macro='edit text 10'></div>
<div class='editor' macro='edit tags'></div>
<div class='toolbar editorFooter' style='text-align:left !important;float:left !important'>
<span macro='message views.editor.tagPrompt'></span><span class macro='newHere label: Adressebog title: {{tiddler.fields.fuldenavn}} tag: {{tiddler.title}} Adressebog text:""' </span>
<span macro='tagChooser'></span>
</div>
<div style='clear:both'></div>
</div><!-- viewer -->
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'> </span><span macro='email to:{{tiddler.fields.email}} permalink:"true"'></span></div> <div macro="elem show tagged any chat type samarbejd">
<span macro='tiddler udtalelsesSamarbejde with:{{tiddler.title}}'></span></div>
<div macro="elem hide tagged any noTitle iframe">
<div <span class='title'><span macro='view title'></span></div>
<td
</span><span class='subtitle'><span style='white-space:nowrap' macro='view modified date [[DDD, DDe MMM YYYY]]'></div></span><td<span class macro='snapshot print label:print prompt:Udskriv id:here'></span></td></span>
<div macro="elem hide tagged any systemTool systemList Lærere">
<div class='tagged' macro='tags'></div></div>
<div class='tagClear'></div>
<div <span class='menubox' style='float:center;margin:0em'
<table <span class='viewer'>
<div class='tagClear'></div></span><span macro='tag Lærere Lærer:'></span><span Tlf:'></span><span macro='wikify "[[%0|TelefonListe]]" telefon'</span>
<div <span class macro='tiddler LærerTabel'></div><span class='newbutton' style='padding-right: 0.5em;' macro='newTiddler label: "Ny elev" tag:"Elev" title:"Indskriv navnet på en ny elev her" text:"Klik færdig, derefter rediger og tilføj oplysninger på kortets bagside"' ></span></div>
</span></span></div>
<div class macro='tiddler Meddelelser'></div>
<div <span macro='wikify "//@@bgcolor(#99ff33):Besked:@@//"'</span><span class macro='editTiddler'></span><span macro='wikify "@@color(#cc0000): %0@@" text'</span></span></div>
<div <span class='menubox' style='float:center;margin:0em' macro='notes heading:"NoteArkiv" tag:"NoteArkiv" suffix:"Note"'> </span></div>
</td></tr></div>
<tr <div class='viewer' macro='tiddler TiddlerSygHuPrint'></div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<div class='tagClear'></div>
<!--}}}-->
{{nobullets small{<<list filter [tag[Kristendom]] template:MainMenu##template>>}}}/%
!template
{{left{
<<view title wikified '[[%0 »|%0]]'>>
}}}
!end
[[Pind og Holdt i USA (Religion) »|Pind og Holdt i USA (Religion)]]%/
<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<link rel="shortcut icon"href="../_th/images/favicon.ico" type="image/vnd.microsoft.icon" />
<link rel="icon" href="../_th/images/favicon.ico" type="image/vnd.microsoft.icon" />
<script type="text/javascript" src="../ckeditor/ckeditor.js"></script>
<!--}}}-->
Klassernes noter: "Kristendom": http://kristendom.tiddlyspace.com og etiknoter på nettet: http://etik.tiddlyspot.com
[[Elevopgaver med opgivne kilder|Kilder]]
|sortable|k
|Religioner/definitioner|Titel|Kilde|Anslået fordybelsesområde|Note|h
|Kristendom|Den etiske fordring|Artikel/J. Sløk|Den gyldne regel/Det dobbelte kærlighedsbud||
|Kristendom|Har du overhovedet en vilje?|Frit efter "Mærk verden" af Tor Nørretranders, 1991|At træffe de rigtige valg||
|Kristendom|Eksistentialisme|Artikel- Søren Kierkegaard (1813-1855)|At træffe de rigtige valg||
|Kristendom|Tidslinie + billeder|Jellingestenen og en støbeform|Kristendommen i Danmark -Fra katolicisme til protestantisme||
|Kristendom|Reformationen i Danmark|Artikel|Kristendommen i Danmark -Fra katolicisme til protestantisme||
|Humanisme|Humanisme|Artikel/Sokrates|Det gode og det onde i mennesket||
|Kristendom|Brev til Rom|Brev -7.19/Paulus|Det gode og det onde i mennesket||
|Naturvidenskab|Arternes oprindelse|Artikel/Charles Darwin|Det gode og det onde i mennesket||
|Kristendom|Guds rige og Menneskesønnens dag|Lignelse/Lukas 17:20-21|Guds rige i himlen eller på jorden||
|Kristendom|Livet efter Guds vilje|Brev/Paulus Romerbrevet 12: 9-21|Guds rige i himlen eller på jorden||
|Kristendom|Artikel 1-5|Verdenserklæringen om Menneskerettighederne 10. december 1948 FN|Guds rige i himlen eller på jorden||
|Jødedom/Kristendom|De ti bud-GT|2. Mosebog 20: 1-20|Er det handlingen eller motivet der tæller?||
|Jødedom/Kristendom|Om Loven/Om gengældelse/Om fjendekærlighed -NT|Matt. 5 17-20 38-48|Er det handlingen eller motivet der tæller?||
|Jødedom/Kristendom|Vision og mission|artikel fra Mellemfolkeligt Samvirke|Er det handlingen eller motivet der tæller?||
|Kristendom/Islam|Åbent digt til Vorherre|Ivan Malinowski|At leve "rigtigt" eller "forkert"||
|Kristendom/Islam|Skriftsted "Tro på Gud"|Koranen sura 2:28-29|At leve "rigtigt" eller "forkert"||
|Hinduisme|Etik i fem verdensreligioner| religion.dk og vores egen Etik (http://etik.tiddlyspot.com) |Etik||
|Hinduisme|diverse billeder og podcasts produceret af og til elever med [[VoiceThreads|http://etik.tiddlyspot.com/#Voicethreads]]|Indføring i religion||
|Elevprodukter|>|>| http://etik.tiddlyspot.com/#Voicethreads ||
|Buddhisme|Etik i fem verdensreligioner| religion.dk og vores egen Etik (http://etik.tiddlyspot.com) |Etik||
|Buddhisme|diverse billeder og podcasts produceret af og til elever med [[VoiceThreads|http://etik.tiddlyspot.com/#Voicethreads]]|indføring i religion||
|Elevprodukter|>|>| http://etik.tiddlyspot.com/#Voicethreads ||
|Johannes Møllehave oplæsning|Til en som har mistet en elefant|”Yndlingsdigte”/Benny Andersen|Ikke udleveret som tekst||
|Johannes Møllehave oplæsning |Gud er kommet til byen|”Yndlingsdigte”/Jens August Schade|Ikke udleveret som tekst||
|Film|Mellem to verdener||Jehovas vidner||
|Dokumentar|The Barricades|Himlen over Danmark/DR2 |Unge kristne||
|Internetkilde|>|>| Se http://etik.tiddlyspot.com ||
|Internetkilde|>|>| Se http://voicethread.com ||
|>|>|>| !Projekter & fagdag: | !Note |h
|Film|To verdener|Dansk film om "en frafalden" et Jehovas vidne|Normalitet/Frihed||
|Fagdage|Besøg af & foredrag med to vagabonder|Vagabonderne "Spøjsen" og Vendelboen|Et liv på kanten/Normalitet|Religion som støtte|
|Gruppearbejde|Arbejde med forskellige prøveoplæg & spørgsmål|Islam, Kristendom, Hinduisme, jødedom og Buddhisme|Indføring i forskellige religioner||
|[[VoiceThreads|http://etik.tiddlyspot.com/#Voicethreads]]|Fremlæggelser af forskellige trosretninger|Se: http://etik.tiddlyspot.com/#Voicethreads|Sammenlignende religion||
Lagt på www.religion.dk d. 8. juni 2004, kl. 17:52 "Måske er religion Guds fjende"
[img(20%+,)[http://www.religion.dk/modules/xphoto/cache/74/117874_411_800.jpg]]
Det irske rockband U2 blev i teenage-årene smidt ud af Shalom Fellowship i Dublin. Siden blev de ekskluderede musikere talerør for de kirkeløse troende.
Af Peter ~Friis-Nielsen
"Jeg spekulerer ofte på, om religion er Guds fjende. Det er næsten som om, religion er det, som indfinder sig, når Ånden har forladt bygningen."
Ordene er Bonos, forsanger og frontfigur i irske U2, og falder under et interview med det religiøse (men ikke-konfessionelle) online-magasin, Beliefnet.
Citatet er et godt billede på bandet og deres forsanger: Med deres kontroversielle holdninger og ofte provokerende udtalelser har de chokeret og forarget store dele af den pæne, etablerede kristenhed.
Samtidig har de henrykket andre, der ligesom U2 nok ser sig selv som kristne, men som ikke føler, at de passer ind i den etablerede kirkes orden og struktur. Og Bonos popularitet bragte ham da også med på Time Magazines top100 liste over verdens mest magtfulde personer i 2004.
U2 voksede frem af den aggresive New Wave/punk-bølge i slutningen af 70erne. Bono, The Edge (lead guitar) og Larry Mullen (trommer), var dengang med i en karismatisk kristen bevægelse i Dublin, kaldet Shalom Fellowship. Men fællesskabet ekskluderede de tre, da en karriere som rockmusiker ikke passede ind i bevægelsens opfattelse af kristen livsførelse.
Siden har bandets medlemmer ikke haft nogen formel tilknytning til noget kirkesamfund. Tværtimod har de ofte lagt afstand til den institutionaliserede religion, som de etablerede kirkesamfund er eksponent for.
"For nogle mennesker er kirken deres billet til agtværdighed, et særlig sæt af bourgeois værdier, et sikkerhedsnet når de går i seng. Min kristendomsforståelse er ikke et sikkerhedsnet, det er et svidende angreb på bourgeois værdier, og en trussel mod agtværdigheden."
Derfor er der en del "agtværdige" kirkefolk rundt omkring i verden, der aldrig rigtig har brudt sig om Bono og hans band, ikke mindst blandt amerikanske evangelikale. De sætter spørgsmål ved autenticiteten i U2-medlemmernes tro. Og når de så endda både drikker, ryger og bander, bliver kritikerne ikke færre.
Men for U2 finder troen andre veje: "Jeg har denne sult i mig. Hvorend jeg kigger, ser jeg beviser på en skaber," siger Bono, og tilføjer: "Men jeg ser dem ikke i religionen, som blot har delt mit folk i to (den irske konflikt, red.). Jeg ser ikke Jesus Kristus som del af nogen religion. For mig er religion næsten som når Gud forlader stedet – og mennesker udstikker et sæt af regler for at udfylde tomrummet."
For Bono er det en styrke, at de som rockband netop forventes at beskæftige sig med og synge om alt anden end Gud. "Jeg tror nogle gange, at jeg har en slags Tourette-syndrom – hvor du bliver stærkt fristet til at sige alt det, du netop ikke må sige. Du er i et rockband – hvad kan du tale om? Gud????!!! Næppe. OK, så gør vi det. Det forventes af dig, at du skriver sange om sex og stoffer. Fint, men det er ikke det jeg vil!"
U2 har altid koblet en global politisk og social bevidsthed med det religiøse. Allerede i 80'erne deltog de i Band Aid og Live Aid - musikalske arrangementer til støtte for Afrika. Og op til årtusindskiftet var Bono stærkt engageret i den kirkelige kampagne, Jubilee 2000, der arbejdede på at få verdens rige lande til at slå en streg over Den Tredje Verdens bundløse gæld.
Ligesom resten af bandet, fastholder Bono det etiske og politiske imperativ i den kristne tro. At redde Afrika er ikke kun et spørgsmål om økonomi, sikkerhed og moral. Det er et spørgsmål om tro.
Om AIDS i Afrika siger Bono: "Kristus' eksempel bliver nedværdiget af kirken, hvis den ignorerer den nye spedalskhed, som er AIDS. Kirken er en sovende kæmpe på det punkt. Hvis den vågner op og ser, hvad der sker i verden, har den en stor rolle at spille. Hvis ikke den gør det, er den irrelevant," sagde Bono i et interview i Chicago Sun-Times og inkluderede sig selv i talen om "kirken" – velvidende, at også han falder ind i en sprogbrug, som han ikke bryder sig om: "Jeg slår mig ikke op som kristen på nogen måde. Det kan jeg ikke leve op til. Jeg prøver på at være det, men jeg føler mig ikke godt tilpas under den banner."
Eller udtrykt endnu klarere: "Den stærkeste ide, der er kommet ind i verden de sidste flere tusinde år - ideen om nåde - er grunden til at jeg gerne ville være kristen.
Men som jeg sagde til Edge den anden dag, føler jeg mig mere som en fan end som én i bandet. Jeg kan ikke leve op til det. Men grunden til at jeg gerne ville kunne, er ideen om nåde. Den er virkelig stærk."
Simplest har Bono udtrykt bandets ydmyge trosbekendelse i en af bandets mest kendte sange: "You broke the thorns, and you loosed the chains. Carried the cross of my shame, of my shame. You know I believe it" (I Still Haven’t Found What I’m Looking For/The Joshua Tree, 1987).
I interviewet med Chicago Sun-Times falder der også et par linier om poetisk tro: "Det er i sig selv en overvældende ting, at der er en kraft af kærlighed og mening bag alt i universet, hvis man tror på det. Men den tanke, at den kærlighed og mening vælger at fremstille sig selv som en baby født i skidt og møg og yderste fattigdom er genial... og får mig på knæ, bogstavelig talt."
/***
|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);
}
};
}
//}}}
''Islam i Danmark''
1) Fortæl om nogle af de punkter, der kendetegner islam
2)Sammenlign islam med nogle af de andre store verdensreligioner.
*Du kan fx komme ind på historie, oprindelse, skrifter, gudsopfattelse, leveregler, traditioner, ritualer og højtider.
3) Afslutningsvis kan du komme ind på dit eget forhold til religion og hvad det betyder for din hverdag.
----
Kilde
Kopier fra bogen ”Religion i øjenhøjde”. De sider der angår fakta vedrørende islam.
<<tiddler pdfView with:"http://dl.dropbox.com/u/3105342/Arbejde/ad%201.pdf">>
''Vielse og kærlighed''
1)Fortæl hvordan den kirkelige vielse foregår.
2) Gør rede for for de tanker om kærlighed, der kommer til udtryk i digtet "Jeg elsker dig" af Roy Croft. (se bilag). Du kan evt. sammenligne med tegneserien Radiserne. (Se bilag).
3)Hvilke tanker har du selv i forbindelse med begrebet kærlighed?
----
Kilder
Kopier vedr. vielsesritualet fra undervisningsmaterialet ”Jeg elsker dig” udgivet af Folkekirkens Undervisning og Skoletjeneste i Randers.
Digt "Jeg elsker dig" af Roy Croft fra artiklen: ”Vielse – kærlighed” Af Bent Falk, 1998
Tegneserie – Radiserne
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2010.pdf]]
''Bryllupsritualer''
1)Fortæl om bryllupsritualerne i de tre religioner; Kristendom, jødedom og islam.
2)Hvilken betydning har det, at ægteskabet velsignes af Gud?
3)Sammenlign ritualerne i de tre religioner og find fællestræk og forskelle.
4)Hvorfor tror du at mange mennesker – selv dem der ikke er ”religiøse” vælger de religiøse vielser frem for de borgerlige?
5)Overvej og fortæl om dine egne tanker om og oplevelser af religiøse ritualer og hvad de betyder for dit liv. Du kan fx komme ind på konfirmation, bryllup eller begravelse.
----
Kilde
Kopier fra bogen ”Tro og traditioner” af Mette Engel. (Kapitlet om bryllup)
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2011.pdf]]
''Abraham''
1)Genfortæl de vedlagte fortællinger om Abraham fra Gammelt Testamente og fra Koranen.
2)Fortæl om de forskelle, der er på fortællingen i de to forskellige bøger.
3)Hvorfor satte Gud Abraham på prøve?
4)Abraham var parat til at adlyde Gud og ofre sin elskede søn. Hvor langt skal man gå for at adlyde Gud?
5)I Grundtvigs salme ”Hvor er lammet, offerlammet?” handler de to første strofer om Abraham og de to sidste om Jesus. Hvilken sammenhæng er der mellem de to fortællinger set ud fra en kristen tankegang?
6)Overvej og fortæl om dine egne tanker i forhold til at være et forbillede for andre mennesker.
----
Kilde
Sammenklip af kopier fra bogen ”Tro og traditioner” af Mette Engel. (Kapitlet om Abraham som den fælles stamfader)
Salme: ”Hvor er lammet, offerlammet?” Af N.F.S. Grundtvig.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2012.pdf]]
''Gør hvad du vil''
Teksten ”Gør hvad du vil” er et uddrag af en bog, der er skrevet af en filosof, der hedder Fernando Savater. Han skriver om sine livserfaringer til sin søn.
1)Fortæl om de råd Fernando Savater giver sin søn i den del af teksten, som du har fået.
2)Hvad mener han, når han taler om begrebet ”frihed”`?
3)Hvad vil han fortælle med historien om Esau og Jacob?
4)Fernando Savater kommer også ind på døden; hvad har døden med frihed og lyst at gøre?
5)Inddrag også billedet ”Linedans” og forklar hvilke sammenhænge der er imellem billedet og teksten.
6)Overvej og fortæl om de overvejelser du selv gør om at være et godt menneske og at leve et godt liv.
----
Kilder
Kopier fra bogen ”Tanker fra en kannibal” skrevet af Fernando Savater (siderne 67-72)
Billede af Robert Storm Petersen: Linedans
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2013.pdf]]
''Sørg for at få et godt liv''
Teksten er et uddrag af en bog, der er skrevet af en filosof, der hedder Fernando Savater. Han skriver om sine livserfaringer til sin søn.
1)Fortæl om de råd Fernando Savater giver sin søn i den del af teksten, som du har fået.
2)Hvad mener han, når han taler om et godt liv?
3)Beskriv, hvad der er det særlige ved at være menneske?
4)Hvad har andre mennesker med dit liv at gøre?
5)Inddrag de to billeder og forklar hvilke sammenhænge der er imellem billeder og tekst.
6)Overvej og fortæl om de overvejelser du selv gør om at være et godt menneske og at leve et godt liv.
----
Kilder
Kopier fra bogen ”Tanker fra en kannibal” skrevet af Fernando Savater (siderne 74-77)
Maleri af Michael Kvium: So Simple
Foto af familie fra kampagne om kost og sundhed.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2014.pdf]]
''Verdens skabelse''
1)Fortæl om opfattelser af verdens og menneskets skabelse.
2)Referér "lignelsen om de to opdagelsesrejsende" (se bilag) og forklar hvad den siger om hvad vi kan vide om verdens skabelse. Beskriv evt. en videnskabelige teori om verdens skabelse ud fra billederne ”Verden bliver til” af Nils Hartmann. (se bilag).
4)Overvej hvordan du selv forholder dig til verdens og menneskets skabelse. Fortæl hvad det betyder for den måde, du lever dit liv.
----
Kilde
Kopier fra bogen ”Tanker om tro” af Lars Tjalve (siderne 69-71)
Om verdens skabelse fra billedbogen ”Verden bliver til” af Nils Hartmann
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2015.pdf]]
!Uddrag fra Lars Tjalve: Tanker om tro s. 69 - 71
!!Gud som skaber
På samme måde forholder det sig med ordet skaber. Det rummer ikke en teori om, hvordan verden er blevet til. Det er udtryk for en bestemt tydning eller forståelse af verden. Fra vores tilværelse ved vi, hvad det er at skabe noget. Til forskel fra dyrene er mennesket et skabende væsen. Dermed mener vi, at selvom f.eks. en myretue eller en fuglerede er lavet af hhv. myrer og fugle, så er de ikke skabt. Myrer laver altid myretuer. Og selvom der kan være forskel fra den ene tue til den anden, så er forskellen ikke udtryk for et valg eller en bestemt smag. Myrer beslutter sig ikke til at lave en tue. De gør det bare. Og på samme måde er det med fugle og deres reder.Men når mennesket skaber noget, er det udtryk for et valg. Vi vælger at gøre tingene på en bestemt måde. Når vi siger, at det er noget, vi skaber, mener vi, at det er noget, vi laver i frihed. Selvfølgelig skal vi have tøj på kroppen for ikke at fryse. Og vi må have noget at spise, og vi skal bruge redskaber. Men vi vælger at skabe noget på en bestemt måde og sætter dermed vores præg på det. Langt tilbage i menneskehedens historie kan vi se, at den enkelte håndværker sætter sit præg på det, han skaber. Der er et stykke afhans væsen i det skabte. Når ordet skabelse bruges ikke blot i kristendommen men også i andre religioner, er der altså tale om, at man tager et ord, hvis betydning man kender og bruger det i en ny sammenhæng. Det bliver brugt for at tyde eller forstå den verden, man lever i. Når Gud er skaberen, betyder det, at verden og alt levende er blevet til i frihed. Den skabte verden er en række muligheder, som er blevet gjort til virkelighed. Den kunne have været anderledes. Og i fabler, myter og eventyr har mennesker leget med at forestille sig andre mulige verdener med andre levende væsener. Når Gud er skaberen, betyder det, at ligesom en lerkrukke f.eks. fortæller om sin skaber, bærer sin skabers præg, sådan bærer verden også sin skabers præg. Det er ikke en bevisførelse. For det beviser ikke noget som helst. Det er en bestemt måde at se på, en tydning i form af en sammenligning. Når Gud er skaberen, betyder det, at verden og menneskene peger ud over sig selv. En sang er ikke til, før nogen begynder at synge den. Et smykke er ikke til, før nogen skaber det. En ret mad er ikke til før nogen tilbereder den. Når Gud er skaberen, betyder det, at verden har en bestemt form, som ikke er tilfældig. Mennesker har til alle tider oplevet at støde imod grænser. Der er to slags:
1. Mennesker kan f.eks. ikke flyve som fuglene. Og vores levetid bestemmer vi ikke selv.Vort liv afsluttes med døden.
2. Men grænser kan være de konkrete grænser, jeg oplever i mit liv. Det jeg ikke kan eller opnår, men som andre kan eller opnår. Sådanne grænser kan man se som rene tilfældigheder, som man må gøre oprør imod eller prøve at overvinde. Eller man kan se dem som nødvendige. Når kristendommen her taler om skabelse, betyder det, at hver enkelt
skabnings livsform med de deraffølgende begrænsninger samt de konflikter og sammenstød, jeg oplever i mit eget liv, er udtryk for mening. Det er meningen, at mennesket er, som det er. Det er meningen, at vi skal dø. Og det er meningen, at der skal være forskellige dyrearter. Når Gud er skaberen betyder det, at hver enkelt livsform: planter, dyr og mennesker, har deres bestemte plads. Mennesket er derfor ansvarligt for sit liv og for alt andet liv, fordi verden er skabt på en bestemt måde, som skal respekteres. Man kan kalde den respekt og ærefrygt for livet. Derimod er talen om Gud som skaber ikke en videnskabelig eller uvidenskabelig teori om verdens tilblivelse. Faktisk viser historien, at skabelsestanken er neutral over for enhver tids videnskabelige teori om livets og verdens opståen. De konflikter, man kan pege på i historien og i nutiden, har altid karakter af konflikt mellem forskellige videnskabelige modeller. Jeg kan illustrere det med en slags lignelse, som omkring midten af dette århundrede blev brugt af nogle engelske filosoffer og teologer, der diskuterede sagen:
!Lignelsen om de to opdagelsesrejsende
Inde i Afrikas jungle er to opdagelsesrejsende på vej gennem vildnisset. Så kommer de til et sted, hvor træer og buske ikke står helt så tæt, som de ellers gør. Faktisk ligner det en rydning midt i junglen. Den ene af dem siger: Ah, nu kommer vi til civiliserede egne. Kan du se, her er en rydning? - Den anden er mere skeptisk: Jeg tror ikke, du har ret. Prøv engang at se! Væltede træer, som bare får lov til at ligge og rådne. Det er et rent tilfælde, at det ligner en rydning.
Hvem af dem har ret? Hvordan kan man afgøre det? Der er to muligheder:
1. De kan slå lejr og sætte sig til at vente. Hvis der dukker f.eks. en gartner op, så har nr. l fået ret. Men hvis der ikke kommer nogen, hvem har så ret? Nr. l kan sige: Der har været en gartner - engang. Det er ikke sikkert, at han kommer mere. Eller: Han kommer nok. Han er sikkert bare på ferie for tiden! - Diskussionen kan fortsætte i det uendelige. Hvorfor? Fordi det, de diskuterer, er ikke, hvordan der ser ud der midt i junglen. Det handler ikke om, hvor mange slags træer der er, eller blomster osv. De er enige om, hvordan stedet ser ud. Det, diskussionen handler
om, er, hvordan de bedst skal forstå eller tyde det, de ser.
2. De kan fortsætte deres rejse. Hvis de kommer til en landsby, kan de spørge sig for: Er det jer, der har ryddet lysningen her uden for jeres landsby? Hvis svaret er ja, har nr. l fået ret. Er svaret nej, er vi igen lige vidt. Det kan være nogle andre - eller det kan være et tilfælde.
!Verdens skabelse
I begyndelsen er der ingenting ...
Ingen mærker den første, svage sitren. Ingen ser
det første, lille lysglimt, for der er ikke en levende
sjæl endnu. Med et danser nogle bitte, bittesmå
prikker rundt mellem hinanden.
Nu bliver tiden og rummet til.
Det er universets første øjeblik, og straks bliver der
vild forvirring. Alle de små prikker vil have plads, så
universet må udvide sig. Nu dannes de første atomer.
Gasserne klumper sig sammen i galakser
og tåger. Nogle af klumperne er
kæmpestore, og de er utrolig
varme indeni. De er som
sole og lysende stjerner.
Pludselig eksploderer en
stor stjerne! Det buldrer
og tordner, og det er det
største brag, verden nogen
sinde har hørt!
En brændende sky af gas og støv farer
af sted gennem universet. Af alle de
små dele dannes solen, ni planeter,
måner og et bælte af stjerner.
Og sikke, de lyser!
Der er utrolig mange
forskellige stjerner. En dag
får nogle af dem underlige
navne.
Jorden er en af de nye planeter. Den har en glødende kerne af jern, og omkring kernen er
der en kappe af klipper. Langsomt bliver jorden afkølet på overfladen, og der lægger sig en
tynd skorpe uden på kappen. Den er som skallen på et æg. Her skal mennesker, dyr og
planter engang leve.
Landjorden er øde, men snart begynder vandet i urhavet at
myldre af liv. I to milliarder år er der kun bittesmå organismer
i havet. Men en dag slår nogle sig sammen og bliver til
planter og dyr. Der er alger og bakterier, svampe og insekter,
snegle, fisk og skaldyr. Jordskorpen hænger sammen i
et stort kæmpeland, som hedder Pangea - og det betyder
"hele jorden". Meget, meget langsomt begynder Pangea at
skilles ad. Det er som et puslespil med syv store brikker.
En dag vil det komme til at se sådan ud:
''Verdensbilleder''
1) Referér resuméet af "Den nordiske mytologis skabelsesmyte".(se bilag) og forklar Big Bang-teorien. (se bilag)
2) Hvad er det videnskaben kan forklare, som myterne ikke kan, og omvendt? Tag evt. udgangspunkt i det sidste bilag med overskrifterne: "Religionsdefinition" og "Myter".
3) Overvej hvordan du selv forholder dig til religion, videnskab og de mytiske fortællinger. Fortæl hvad det betyder for den måde, du lever dit liv.
----
Kilder
Kopier fra bogen: "Skabelsen" af Merete Engel (s 89 og 94)
Den nordiske skabelsesmyte, redigeret.
Kopier fra bogen "religion i øjenhøjde" (uddrag fra side 9 og 10)
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2016.pdf]]
''Syndefaldsmyten''
1) Genfortæl syndefaldsmyten fra 1. Mosebog. (se bilag) Hvordan forstår du budskabet med Syndefaldsmyten?
2) Sammenlign Syndefaldsmyten med Jörg Zinks digt. (se bilag) Fortæl noget om myter og hvad vi bruger dem til. Tag evt. udgangspunkt i det sidste bilag med overskrifterne: "Religionsdefinition" og "Myter"
3) Hvilke tanker og overvejelser gør du dig om menneskets plads i verden? Hvilke konsekvenser har det for den måde du lever dit liv?
----
Kilder
Kopier fra bogen "religion i øjenhøjde" (uddrag side 9 og 10)
Digt "I begyndelsen skabte Gud himlen og jorden" af Jörg Zink
Syndefaldet, 1. Mosebog 3, 1-24
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2017.pdf]]
''Menneskets plads i verden''
1)Forklar hvad Darwins udviklingslære går ud på. (se bilag). Hvordan forklarer kristendommen hvor vi kommer fra? (se bilag)
2)Hvad betyder det for et kristent menneske at betragte sig som guds skabning og hvad betyder det for et menneske at se sig selv som en part i Darwins udviklingslære? Kan de to forestillinger gå hånd i hånd?
3)Hvilke tanker og overvejelser gør du dig om din egen og menneskets plads i verden? Hvad betyder det for den måde du lever dit liv?
----
Kilder
Skabt og faldet. Uddrag af ”En folkebog om troen” af Søren Lodbjerg Hvas.
Kopier vedr. Udviklingslæren fra bogen ”Skabelsen” Af Merete Engel (side 92 – 94)
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2018.pdf]]
Nødvendigheden af religion
1)Gør med dine egne ord rede for den opfattelse af religion, som Bono giver udtryk for i interviewet "Måske er religion Guds fjende?"
2)Hvad mente Immanuel Kant om sammenhængen mellem Gud og etiske regler?
3)Kan man have en moral uden at være religiøs?
4)Immanuel Kant mente at der er en afgørende forskel på hvordan mennesker opfatter verden og hvordan verden i virkeligheden er. Hans udtryk for den egentlige virkelighed - opfattet uden "farvning" af tid og rum. Kaldte han "Das Ding an sich". (Tingen i sig selv)
- Hvad karakteriserer menneskers opfattelse af verden?
- Hvad går det ontologiske gudsbevis ud på?
5)Hvilke tanker og oplevelser har du selv i forbindelse med begrebet religion? Du kan evt. komme ind på forskellen mellem religiøse og ikke-religiøse menneskers opfattelse af virkeligheden.
----
Kilder
Artikel: ”Immanuel Kant” - den gyldne leveregel. www.religion.dk 24. oktober 2005.
Artikel: ”Måske er religion guds fjende?” www.religion.dk d. 8. juni 2004
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%2019.pdf]]
''Jødedom i Danmark''
1)Fortæl med udgangspunkt i teksten om Jacob M. Knobel om nogle af de konsekvenser det kan have at være jøde i Danmark i dag.
2)Sammenlign jødedommen med nogle af de andre store verdensreligioner.
*Giv eksempler på ligheder og forskelle. Du kan fx komme ind på oprindelse, skrifter, gudsopfattelse, leveregler, traditioner, ritualer og højtider.
3)Overvej og beskriv dit eget forhold til religion. Hvad betyder det for den måde du lever dit liv?
----
Kilde:
Kopier fra bogen ”Religion i øjenhøjde”. Udpluk af den del af teksten, der fremstiller Jacob M. Knobels oplevelser af at være jøde i Danmark.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%202.pdf]]
''Hinduismens guder''
1)Fortæl om hinduismens skrifter og guder. (se bilag)
2)Religiøse fortællinger kan ofte betragtes som myter. Hvad er det særlige
ved myters sprog og måde at fortælle på? Tag evt. udgangspunkt i det sidste bilag med overskrifterne: "Religionsdefinition" og "Myter".
3)Overvej hvordan du selv forholder dig til gud/guder, myter og religiøse skrifter.
Fortæl hvad det betyder for den måde, du lever dit liv.
----
Kilde
Kopier fra bogen ”Rama - Dæmonernes besejrer” af Michelle Esclapez (siderne 34-37)
[[Pdf + kilder|http://dl.dropbox.com/u/3105342/Arbejde/Opgave20%20hinduisme.pdf]]
''Gud eller bibelen''
1)Fortæl hvad Henrik Dahl tror på - Hvad er hans holdning til Gud og bibelen?
2)Religiøse fortællinger kan ofte betragtes som myter. Hvad er det særlige
ved myters sprog og måde at fortælle på? Tag evt. udgangspunkt i det sidste bilag med overskrifterne: "Religionsdefinition" og "Myter".
3)Overvej hvordan du selv forholder dig til gud og/eller bibelen.
Fortæl hvad det betyder for den måde, du lever dit liv.
----
Kilde
Indlæg "Gud og bibelen" fra siden ''kommunikations forum'' (k-forum) af Henrik Dahl (Det hele bortset fra kommentarerne)
[[link|http://www.kommunikationsforum.dk/?articleid=10865]]
[[Pdf + kilder|Gud eller bibelen]]
''Jødedom i Danmark''
1)Fortæl om nogle af de punkter, der kendetegner jødedommen
2)Sammenlign jødedom med nogle af de andre store verdensreligioner.
*Du kan fx komme ind på historie, oprindelse, skrifter, gudsopfattelse, leveregler, traditioner, ritualer og højtider.
3) Afslutningsvis kan du komme ind på dit eget forhold til religion og hvad det betyder for din hverdag.
----
Kilde
Kopier fra bogen ”Religion i øjenhøjde”. Udpluk af de sider der angår fakta vedrørende jødedommen.
[[Pdf+kilder|http://dl.getdropbox.com/u/1064531/ad%203.pdf]]
''Islam i Danmark''
1) Fortæl med udgangspunkt i teksten om Serap Øzden om nogle af de konsekvenser det kan have at være muslim i Danmark i dag.
2) Sammenlign islam med nogle af de andre store verdensreligioner.
*Giv eksempler på ligheder og forskelle.
*Du kan fx komme ind på oprindelse, skrifter, gudsopfattelse, leveregler, traditioner, ritualer og højtider.
3)Overvej og beskriv dit eget forhold til religion. Hvad betyder det for den måde du lever dit liv.
----
Kilde
Kopier fra bogen ”Religion i øjenhøjde”. Den del af teksten, der fremstiller Serap Øzdens oplevelser af at være muslim i Danmark.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%204.pdf]]
''Tre religioner''
1)Jødedom, kristendom og islam er alle tre skrift- og lovreligioner. Forklar hvad det betyder.
2)De tre religioner ligner på flere områder hinanden. Nævn nogle af disse fællestræk
3)Beskriv også nogle af de afgørende forskelle i de tre religioner. Du kan fx komme ind på historie, oprindelse, skrifter, gudsopfattelse, leveregler, traditioner, ritualer og højtider.
4)Alle tre religioner har også et billedforbud. Hvorfor tror du de har det? Hvad skal billedforbuddet forhindre?
----
Kilde
Kopi af kapitlet ”Tre religioner – i korte træk” fra bogen ”Skabelsen” som er skrevet af Merete Engel, 2007.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%205.pdf]]
''De hellige skrifter''
De tre skriftreligioner Jødedom, kristendom og islam har meget til fælles.
1)Fortæl om de tre religioners hellige skrifter.
2)Hvordan er mennesket stillet i forholdet til Gud inden for de tre religioner? Find gerne eksempler.
3)Overvej og beskriv dit eget forhold til religiøse tekster og religion og hvad det betyder for den måde du lever dit liv.
----
Kilde
Kopi af kapitlet ”De hellige skrifter” fra bogen ”Skabelsen” skrevet af Merete Engel, 2007.
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%206.pdf]]
''Når livet er slut''
1)Fortæl om de forskellige opfattelser af døden der præsenteres i teksten.
2)Fortæl hvad du ved om forskellige begravelsesritualer og de tanker der knyttes hertil; gerne i forhold til de store verdensreligioner.
3)Prøv at forklare, hvorfor man inden for kristen tankegang forbinder Jesu lidelse og død med håb og kærlighed.
4)Overvej og beskriv dine egne tanker om livet og døden og hvad de betyder for den måde du lever dit liv. Måske kan du få inspiration ved at læse digtet ”Mit liv er mit”.
----
Kilder
Kopi af kapitlet ”Når livet er slut” fra bogen ”Hvem er jeg?” skrevet af Knud Erik Andersen, 1996
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%207.pdf]]
''Kærlighed, Agape''
1)Gør med dine egne ord rede for den opfattelse af kærligheden der ligger bag begrebet Agape. Du kan evt. bruge digtet "Kærlighed og frygt" skrevet af Margretha Melin (se bilag).
2)Sammenlign agape med andre typer kærlighed du kender til?
3)Hvilke tanker og oplevelser har du selv i forbindelse med begrebet kærlighed?
----
Kilder
Kopier vedr. begrebet agape fra undervisningsmaterialet ”Jeg elsker dig” udgivet af Folkekirkens Undervisning og Skoletjeneste i Randers.
Digt: Kærlighed og frygt skrevet af Margretha Melin
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%208.pdf]]
''Kærlighed, Eros''
1)Gør med dine egne ord rede for Platons opfattelse af kærlighed forstået som begrebet Eros.
2)Genfortæl Aristofanes fortælling.
2)Forklar hvordan Aristofanes fortælling udtrykker Platons forståelse af begrebet Eros.
3)Hvori ligger forskellen mellem kærlighed forstået som Eros og Agape?
4)Hvilke tanker og oplevelser har du selv i forbindelse med begrebet kærlighed?
----
Kilder
Kopier vedr. begrebet eros fra undervisningsmaterialet ”Jeg elsker dig” udgivet af Folkekirkens Undervisning og Skoletjeneste i Randers.
Aristofanes fortælling
Tegneserie – Radiserne
[[Pdf + kilder|http://dl.getdropbox.com/u/1064531/ad%209.pdf]]
''Folkeskolens afgangsprøve i Kristendom''
6 Juni 2011 [img(4%+,)[Himmerlands Ungdomsskole på nettet|http://dl.dropbox.com/u/3105342/HULOGO.png][http://h-u.dk]]Himmerlands Ungdomsskole
Download en kopi af dette dokument.http://mama.bplaced.net/kristendom/download.php
De fleste af de opgivne kilder er i
dette dokument
+++[opgaver]... <<tiddler pdfView with: "http://dl.dropbox.com/u/3105342/Arbejde/Opgaver_til_gruppearbejde.pdf">>===
{{menubox floatright{[[Som pdf|http://dl.dropbox.com/u/3105342/Arbejde/Opgivelser.pdf]]}}}
<<tiddler Materialer>>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/Alle%20m%20opgivelser.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
[[Oversigt|Alle prøveoplæg]], [[individuelle pdf-links|Alle pdflinks]] til print eller [[alle i een pdf|http://dl.dropbox.com/u/3105342/Arbejde/alle%20i%20een.pdf]] :
<<tiddler FørsteLinier>>
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'><span style='padding-right: 2em;' macro='newHere label:"ny her"'></span></div>
<div class='small breakbefore' style='font-size:16pt;color:green;font-family: Comic Sans MS;'macro='tiddler OpgaveHeader'></div>
<span class='small tagging' macro='tiddler EmnerSliderFrame with: {{tiddler.title}}'></span>
<div class='viewer' style='font-size:12pt;color:bluey;font-family: Comic Sans MS;' macro='view text wikified'></div>
<div class='tagClear'></div>
<div class="tagglyTagging" macro="tagglyTagging"></div>
<!--}}}-->
<html><p align="center"><textarea id="xclToTw" rows="10" cols="60"></textarea><br><button onclick="(function(){var ta=document.getElementById('xclToTw'); displayMessage('original: ' + ta.value); ta.value=ta.value.replace(/^|$|\t/gm, '|');})();" > Oversæt</button></p></html>
<!--{{{-->
<img src="data:image/png;base64,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" style="position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: -1;">
<div class='header' role='banner''>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' class='box1' role='navigation' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' class='box1' role='navigation' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' role='complementary' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea' role='main'>
<div id='messageArea'></div>
<div id='storyMenu' refresh='content' force='true' tiddler='StoryMenu'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
major: 1, minor: 0, revision: 2,
date: new Date("Apr 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
coreVersion: '2.2.0 (Beta 5)'
};
config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");
merge(config.macros.option.types, {
'pas': {
elementType: "input",
valueField: "value",
eventName: "onkeyup",
className: "pasOptionInput",
typeValue: config.macros.option.passwordInputType,
create: function(place,type,opt,className,desc) {
// password field
config.macros.option.genericCreate(place,'pas',opt,className,desc);
// checkbox linked with this password "save this password on this computer"
config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);
// text savePasswordCheckboxLabel
place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
},
onChange: config.macros.option.genericOnChange
}
});
merge(config.optionHandlers['chk'], {
get: function(name) {
// is there an option linked with this chk ?
var opt = name.substr(3);
if (config.options[opt])
saveOptionCookie(opt);
return config.options[name] ? "true" : "false";
}
});
merge(config.optionHandlers, {
'pas': {
get: function(name) {
if (config.options["chk"+name]) {
return encodeCookie(config.options[name].toString());
} else {
return "";
}
},
set: function(name,value) {config.options[name] = decodeCookie(value);}
}
});
// need to reload options to load passwordOptions
loadOptionsCookie();
/*
if (!config.options['pasPassword'])
config.options['pasPassword'] = '';
merge(config.optionsDesc,{
pasPassword: "Test password"
});
*/
//}}}
{{floatright{<html><div>
<a href="javascript:void(location.href='http://www.pdfspot.com/html-to-pdf-converter.aspx?url=' + escape(location.href)+'&pdf_name=' + escape('') + '&pdf_orientation=portrait&pdf_page_size=A4&scripts_enabled=true' )"
title="Convert HTML to PDF" style="font-family: Verdana;font-size: 12px; color: #4579ae; text-decoration: none">
<img src="http://www.pdfspot.com/pdfimg.aspx" alt="Convert HTML to PDF" style="border-style: none" /> Gem som PDF
</a>
<noscript>
<a href="http://www.pdfspot.com" title="HTML to PDF">Online HTML to PDF Converter</a>
</noscript>
</div></html>}}}
<html><div align="center"><iframe src="http://www.pdfspot.com" title="HTML to PDF" frameborder="0" width="100%" height="600"></iframe></div></html>
[[Kilde|http://www.dr.dk/tv/se/pind-og-holdt-i-usa/pind-og-holdt-i-usa-3-6#!/00:00]]
<html><div align="center"><iframe src="http://www.dr.dk/tv/se/pind-og-holdt-i-usa/pind-og-holdt-i-usa-3-6#!/00:00" frameborder="0" style="width:90%;height:80em"></iframe></div></html>
<html><A HREF="javascript:void(0)"onclick="window.open('$1','linkname','height=500, width=800,scrollbars=no')" accesskey="u">$2</a></html>
/***
|''Name:''|~PopupMacro|
|''Author:''|Saq Imtiaz (mod Tobias Beer)|
|''Version:''|1.1 (2009-11-08)|
|''Description:''|Create popups with custom content|
|''Source:''|http://tbGTD.tiddlyspor.com/#PopupMacro|
|''Documentation:''|http://tw.lewcid.org/#PopupMacroDocs|
|''Requires:''|TW Version 2.0.8 or better|
@@((mod for tbGTD(^removed styles and code cleanup)))@@
!Code
***/
//{{{
config.macros.popup={
err1:'missing macro parameters',
err2:'missing label or content parameter',
arrow:document.all?"▼":"▾",
handler:function(place,macroName,params,wikifier,paramString,theTiddler){
var cls,id,lbl,src,click;
if(!params[0]||!params[1]){createTiddlyError(place,this.err1,this.err2);return false;}
lbl=params[0];
src=(params[1]).replace(/\$\)\)/g,">>");
id=params[2]?params[2]:'nestedpopup';
cls='popup'+(params[3]?' ' +params[3]:'');
click=function(e){
var btn,nest,p,tgt;
e=e||window.event;
tgt=resolveTarget(e);
nest=!isNested(tgt);
id=nest?id:'popup';
if(nest&&Popup.stack.length>1)Popup.removeFrom(1);
else if(!nest&&Popup.stack.length>0)Popup.removeFrom(0);
p=createTiddlyElement(document.body,"ol",id,cls,null);
Popup.stack.push({root:this,popup:p});
wikify(src,p);
Popup.show(p,true);e.cancelBubble=true;if(e.stopPropagation)e.stopPropagation();return false;
}
btn=createTiddlyButton(place,lbl+this.arrow,lbl,click,null);
}
}
window.isNested=function(el){
var c=document.getElementById("contentWrapper");
while(el!=null){if(el==c)return true;el=el.parentNode;}return false;
}
setStylesheet('#nestedpopup {margin-left:1em;}','PopupMacroStyles');
//}}}
Eleven må have mulighed for at begynde med en samlet præsentation og fremlæggelse af
sit forberedte stof. Afbrydelse af fremlæggelsen eller anfægtelse af iagttagelsernes rigtighed
vil ofte ødelægge elevens disposition og redegørelse for sin forståelse af oplægget. I starten
bør lærer og censor derfor lade eleven tale og blot notere sig, hvad de senere ønsker
uddybet og forklaret i samtalen.
Efter elevens fremlæggelse af sit forberedte stof fortsætter prøven normalt som en samtale
mellem elev, lærer og censor. Denne samtale føres fortsat på elevens præmisser, og det er
læreren, der leder samtalen. I det hele taget må man som lærer forsøge at guide eleven
igennem prøven – dog uden at overtage situationen og gøre den til undervisning.
Spørgsmål fra lærer og eventuelt censor skal understøtte eleven i at udtrykke sin faglige
kunnen i relation til prøveoplægget. Målet er, at eleven får mulighed for at formulere, hvad
han ved og kan, og ikke at afsløre, hvad han ikke ved og kan. Der er således ingen grund til
at bore i forhold, som tydeligvis ligger eleven fjernt, eller at bruge lang tid på at fiske efter
bestemte faglige betegnelser. Det væsentlige er, at eleven kan gøre relevante iagttagelser i sit
prøveoplæg og anvende dem i en samlet analyse og fortolkning. Til prøven, inklusive
karakterfastsættelsen, afsættes der 20 minutter.
|sortable widetable|k
| ''6/6 – 2011 [[Kristendom]] m MM'' {{poupup{<<tiddler udtalelsesSamarbejde with:6-6-2011>>}}} |c
|nr|forberedelse|lokale|prøve|elev|h
|1|08.05|11|8.45 – 9.05|Signe Høj Andersen|
|2|08.25|12|9.05 – 9.25|Rikke Koch Pedersen|
|3|08.45|11|(2 stk +Vigga) 9.25 – 9.45|Katrine Kiel Broe|
|4|09.05 (2 stk Melissa + Tanja)|12 (+ XX)|(2 stk +Ella) 9.45 – 10.05|Melissa Ilvad Hjorth|
|*|>|>|>| __10.05 – 10.25 Pause__ |
|5|09.05 (+ 40 m + oplæsning)|XX|10.25 – 10.45|Tanja Mørch|
|6|09.25 (+ 40 m + oplæsning)|11|10.45 – 11.05|Vigga Tukula|
|7|09.45 (+ 40 m + oplæsning)|12|11.05 – 11.25|Ella Kuitse|
|8|10.45|11|11.25 – 11.45|Sarah Gulbæk Ben Said|
|9|11.05|12|11.45 – 12.05|Kathrine Aachmann|
|*|>|>|>| __12.05 – 12.45 Pause (Husk Thomas P. trækker kl 12.25!)__ |
|10|12.05|11|12.45 – 13.05|Thomas Albæk Poulsen|
|11|12.25|12|13.05 – 13.25|Thomas Pedersen|
|12|12.45|11|13.25 – 13.45|Mikkel Rene Larsen|
+++*[aftale med sekretæren ang. de grønlandske piger][luk]...
Først: Mange tak fordi du vil hjælpe !!
Pg.a. de "skæve" tider kommer vi til at mangle et lokale (XX) til den første grønlandske pige (Tanja).
Kl. 9.05 trækker Tanja (samtidig med Melissa).
Mit forslag er at du tager hende med over i pejsestuen (+ oplæsning).
Jeg henter hende der kl. 10.25..
Kl. 9.25 trækker Vigga. Hun skal i lokale 11 - (+ oplæsning)
Kl. 9.45 trækker Ella. Hun skal i lokale 12 (+ oplæsning)
Alt i alt skal du regne med at stå til rådighed fra kl 9.05 til ca. 10...
===
/%
|13|13.05|13.45 – 14.05|[[Steffen Hansen]]|
|14|13.25|14.45 – 15.05|[[Thomas Kristensen]]|
%/
/*{{{*/
/* This establishes the design of the boxes' paragraphs */
.box1 p, .box2 p, .box3 p, .box4 p, .box5 p, .box6 p, .box7 p, .box9 p, .box10 p, .box11 p, .box12 p, .box13 p, .box14 p, .box15 p, .box16 p{
margin: 30px;
color: #aaa;
outline: none;
}
/* In this selector we specify the width, height, borders, position, background color, color and shadow's dimensions */
.box1{
width:82%;
margin: 12px 12px 12px 12px;
min-height: 200px;
position:relative;
display: inline-block;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 1000%, from(#fff), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0% 0%, #fff, #f3f3f3 10%, #fff);
border: 1px solid #ccc;
-webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
-webkit-border-bottom-right-radius: 6px 50px;
-moz-border-radius-bottomright: 6px 50px;
border-bottom-right-radius:6px 50px;
}
/* On this pseudo class we specify the design that goes prior the box1 class, in this case it's the shadow placed at the bottom of this box, here's where we determine the measures, rotation and skew of the shadow itself */
.box1:before{
content: '';
width: 50px;
height: 100px;
position:absolute;
bottom:0; right:0;
-webkit-box-shadow: 20px 20px 10px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 20px 20px 15px rgba(0, 0, 0, 0.1);
box-shadow: 20px 20px 15px rgba(0, 0, 0, 0.1);
z-index:-1;
-webkit-transform: translate(-35px,-40px)
skew(0deg,30deg)
rotate(-25deg);
-moz-transform: translate(-35px,-40px)
skew(0deg,32deg)
rotate(-25deg);
-o-transform: translate(-35px,-40px)
skew(0deg,32deg)
rotate(-25deg);
}
/* On this pseudo class we specify the design that goes prior the box1 class, in this case it's the shadow placed on top of the box, here's where we determine the measures, rotation and the skew of the shadow itself*/
.box1:after{
content: '';
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
display: inline-block;
z-index:-1;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 15px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 15px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
-o-transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
}
/* This is the second selector of the box, we assign some specific measure values, background colors, borders and shadows */
.box2{
margin: 50px;
width: 300px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background: #f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#f3f3f3), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
-webkit-border-bottom-right-radius: 60px 60px;
-moz-border-radius-bottomright: 60px 60px;
border-bottom-right-radius: 60px 60px;
-webkit-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
}
.box2:before{
content:'';
width: 25px;
height: 20px;
position: absolute;
bottom:0;
right:0;
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow:-2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform:
rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* Here's where we make the shading of the folds*/
.box2:after{
content: '';
z-index: -1;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 18px rgba(0, 0, 0, 0.2);
box-shadow: 20px 20px 8px rgba()0,0,0,0.2;
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
}
/* This is the selector of the third box, here's where we specify the measure values, background colors, borders and shadows */
.box3{
margin: 50px;
width: 300px;
padding: 5px 0 ;
position:relative;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
border: 1px solid #ccc;
-webkit-border-radius: 60px 5px;
-moz-border-radius: 60px/5px;
border-radius:60px/5px;
-webkit-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
}
/* In this pseudo class we generate the right top shadow */
.box3:before{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
display: inline-block;
z-index:-1;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
}
/* In this pseudo class we generate the top right shadow */
.box3:after{
content: '';
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
z-index:-1;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-o-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
}
/* This is the selector of the fourth box, here's where we establish the measures, background colors, borders and shadows */
.box4{
margin: 50px;
min-height: 100px;
width: 300px;
padding: 5px 0 ;
position:relative;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 100%, from(#fff), to(#fff), color-stop(.2, #f2f2f2));
background: -moz-linear-gradient(0% 0% 360deg, #fff, #f2f2f2 20%, #fff );
border: 1px solid #ccc;
-webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
}
/* This is the top right shadow*/
.box4:before{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
}
/* This is the top left shadow*/
.box4:after{
content: '';
width: 50px;
height: 50px;
top:0; left:0;
position:absolute;
z-index:-1;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
-o-transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
transform: rotate(2deg)
translate(12px,25px)
skew(20deg);
}
/* This is the bottom right shadow */
.shr_box4{
width: 100px;
height: 100px;
bottom:0; right:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
transform: rotate(0deg)
translate(-20px,-15px)
skew(20deg);
}
/* This is the bottom left shadow */
.shl_box4{
content: '';
width: 100px;
height: 100px;
bottom:0; left:0;
position:absolute;
z-index: -1;
-webkit-box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px 10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
-moz-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
-o-transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
transform: rotate(0deg)
translate(20px,-15px)
skew(-20deg);
}
/* This is the selector of the fifth box, here's where we establish the measures, background colors, borders and shadows */
.box5{
margin: 50px;
width: 300px;
padding: 0 0 1px 0;
position:relative;
background: #f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#f3f3f3), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
-webkit-border-bottom-right-radius: 60px 60px;
-webkit-border-bottom-left-radius: 60px 60px;
-moz-border-radius-bottomright: 60px 60px;
-moz-border-radius-bottomleft: 60px 60px;
border-bottom-left-radius:60px 60px;
border-bottom-right-radius: 60px 60px;
-webkit-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
}
/* This is the left fold */
.box5:before{
content:'';
width: 25px;
height: 20px;
background: white;
position: absolute;
bottom:0; right:0;
background: -webkit-gradient(linear, 0% 20%, 50% 40%, from(#fff), to( #eee), color-stop(.1,#fff));
background: -moz-linear-gradient(0 50% 90deg, #fff, #fff 10%, #eee);
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* In this pseudo class we make the shading for the left fold */
.box5:after{
content: '';
z-index: -10;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 18px rgba(0, 0, 0, 0.2);
box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
}
/* Here comes the bottom right shadow */
.fold_box5{
z-index: -10;
width: 50px;
height: 50px;
position:absolute;
bottom:0; left:0;
-webkit-box-shadow: -20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -20px 20px 18px rgba(0, 0, 0, 0.2);
box-shadow: -20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
-moz-transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
-o-transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
}
/* In this selector we make the fold of the bottom left side */
.fold2_box5{
content:'';
width: 25px;
height: 20px;
background: white;
position: absolute;
bottom:0; left:0;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 50% 80%, from(#fff), to( #eee), color-stop(.1,#fff));
background: -moz-linear-gradient(0 50%, #fff, #fff 10%, #eee);
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
-moz-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
-o-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
}
/* This is the selector of the sixth box, here's where we establish the measures, background colors, borders and shadows */
.box6{
margin: 50px;
width: 300px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(0 0 270deg, #fff, #fff 10%, #f3f3f3);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
border-left: 1px solid #ccc;
-webkit-border-top-left-radius: 60px 5px;
-webkit-border-top-right-radius: 60px 5px;
-webkit-border-bottom-right-radius: 60px 60px;
-moz-border-radius-topleft: 60px 5px;
-moz-border-radius-topright: 60px 5px;
-moz-border-radius-bottomright: 60px 60px;
border-top-left-radius: 60px 5px;
border-top-right-radius: 60px 5px;
border-bottom-right-radius: 60px 60px;
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
}
/* In this pseudo class we create the fold for the bottom side of the box */
.box6:before{
content:'';
width: 25px;
height: 20px;
position: absolute;
bottom:0;
right:0;
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* In this pseudo class named box6 we generate the shading of the fold */
.box6:after{
content: '';
z-index: -10;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
}
/* On this class we establish the shadow of the top right section */
.box6_corner_lf{
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
z-index:-6;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 20px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(20px,20px)
skew(20deg);
-o-transform: rotate(2deg)
translate(20px,20px)
skew(20deg);
transform: rotate(2deg)
translate(20px,20px)
skew(20deg);
}
/* On this class we define the shadow of the top left area */
.box6_corner_rt{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
display: inline-block;
z-index:-6;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 18px rgba(0, 0, 0, 0.2);
box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,15px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,15px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,15px)
skew(-20deg);
}
/* This is the selector of the seventh box, here's where we establish the measures, background colors, borders and shadows */
.box7{
margin: 50px;
width: 320px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(0 0 270deg, #fff, #fff 10%, #f3f3f3);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
border-left: 1px solid #ccc;
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
}
/* This is the top left tape */
.box7:before{
content: '';
position:absolute;
width: 130px;
height: 30px;
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
background: rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-webkit-transform:translate(-50px,10px)
skew(10deg,10deg)
rotate(-50deg);
-moz-transform:translate(-50px,10px)
skew(10deg,10deg)
rotate(-50deg);
-o-transform:translate(-50px,10px)
skew(10deg,10deg)
rotate(-50deg);
transform:translate(-50px,10px)
skew(10deg,10deg)
rotate(-50deg);
}
/* This is the top bottom right tape */
.box7:after{
content: '';
position:absolute;
right:0;
bottom:0;
width: 130px;
height: 30px;
background: rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-webkit-transform: translate(50px,-20px)
skew(10deg,10deg)
rotate(-50deg);
-moz-transform: translate(50px,-20px)
skew(10deg,10deg)
rotate(-50deg);
-o-transform: translate(50px,-20px)
skew(10deg,10deg)
rotate(-50deg);
transform: translate(50px,-20px)
skew(10deg,10deg)
rotate(-50deg)
}
/* This is the selector of the eight box, here's where we establish the measures, background colors, borders and shadows */
.box8{
margin: 70px 50px;
width: 300px;
min-height: 250px;
position:relative;
border: 2px solid #ccc;
background: rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.1);
box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.1);
}
/* This pseudo class is the picture's frame */
.box8:before{
content: '';
width: 110%;
left: 0;
height: 125%;
z-index:-1;
position:absolute;
border: 1px solid #ccc;
background: #f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#f3f3f3), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0 0 90deg, #f3f3f3, #f3f3f3 10%, #fff);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
-webkit-transform: translate(-5%,-5%);
-moz-transform: translate(-5%, -5%);
-o-transform: translate(-5%, -5%);
transform: translate(-5%, -5%);
}
/* This pseudo class is the frame's global shadow */
.box8:after{
content: '';
width: 100%;
left: 0;
height: 115%;
z-index:-2;
background: none;
position:absolute;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
-webkit-transform: translate(0,0);
-moz-transform: translate(0,0);
-o-transform: translate(0,0);
transform: translate(0,0);
}
/* This is the selector of the ninth box, here's where we establish the measures, background colors, borders and shadows */
.box9{
margin: 70px 50px;
width: 300px;
min-height: 250px;
position:relative;
border: 1px solid rgba(0,0,0,0.1);
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius:20px;
background: white;
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
box-shadow:0px 0px 5px rgba(0,0,0,0.3);
}
/* This is the border that envelops the box */
.box9:before{
content: '';
width: 110%;
left: 0;
height: 111%;
z-index:-1;
position:absolute;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius:20px;
border: 1px solid rgba(0,0,0, 0.1);
background: rgba(0, 0, 0, 0.0);
-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
-webkit-transform: translate(-5%,-5%);
-moz-transform: translate(-5%, -5%);
-o-transform: translate(-5%, -5%);
transform: translate(-5%, -5%);
}
/* This is the tape of the top section of the box */
.box9:after{
content: '';
position:absolute;
top:-25px; left: 30%;
width: 130px;
height: 40px;
background: rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
}
/* This is the selector of the tenth box, here's where we establish the measures, background colors, borders and shadows */
.box10{
margin: 50px;
width: 320px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background: #fff;
background: -webkit-gradient(linear, 100% 100%, 50% 10%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(100% 50%, #fff, #fff 10%, #f3f3f3);
border: 1px solid #ccc;
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0, 0.1);
-moz-box-shadow: 1px 1px 4px rgba(0,0,0, 0.1);
box-shadow: 1px 1px 4px rgba(0,0,0, 0.1);
-webkit-border-bottom-right-radius: 60px 5px;
-moz-border-radius-bottomright: 60px 5px;
border-bottom-right-radius: 60px 5px;
}
/* These (before and after ) pseudo class are the ones that give the multiple sheets effect*/
.box10:before{
content: '';
width: 98%;
z-index:-1;
height: 100%;
padding: 0 0 1px 0;
position: absolute;
bottom:0; right:0;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f9f9f9), color-stop(.1,#fff));
background: -moz-linear-gradient(0 0 270deg, #fff, #fff 10%, #f9f9f9);
border: 1px solid #ccc;
-webkit-box-shadow: 1px 1px 8px rgba(0,0,0, 0.1);
-moz-box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
-webkit-border-bottom-right-radius: 60px 5px;
-moz-border-radius-bottomright: 60px 5px;
border-bottom-right-radius: 60px 5px;
-webkit-transform: skew(2deg,2deg)
translate(3px,8px);
-moz-transform: skew(2deg,2deg)
translate(3px,8px);
-o-transform: skew(2deg,2deg)
translate(3px,8px);
transform: skew(2deg,2deg)
translate(3px,8px);
}
.box10:after{
content: '';
width: 98%;
z-index:-1;
height: 98%;
padding: 0 0 1px 0;
position: absolute;
bottom:0; right:0;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 100%, from(#f3f3f3), to(#f6f6f6), color-stop(.1,#fff));
background: -moz-linear-gradient(0 0 360deg, #f3f3f3, #fff 10%, #f6f6f6);
border: 1px solid #ccc;
-webkit-box-shadow: 0px 0px 8px rgba(0,0,0, 0.1);
-moz-box-shadow: 0px 0px 8px rgba(0,0,0, 0.1);
box-shadow: 0px 0px 8px rgba(0,0,0, 0.1);
-webkit-transform: skew(2deg,2deg)
translate(-1px,2px);
-moz-transform: skew(2deg,2deg)
translate(-1px,2px) ;
-o-transform: skew(2deg,2deg)
translate(-1px,2px) ;
transform: skew(2deg,2deg)
translate(-1px,2px) ;
}
/* This is the selector of the eleventh box, here's where we establish the measures, background colors, borders and shadows */
.box11{
margin: 50px;
width: 300px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background: #f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#f3f3f3), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
border-top: 1px solid white;
border-right: 1px solid #ccc;
-webkit-border-bottom-right-radius: 60px 60px;
-moz-border-radius-bottomright: 60px 60px;
border-bottom-right-radius: 60px 60px;
-webkit-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -1px 2px 2px rgba(0,0,0,0.2);
box-shadow: -1px 2px 2px rgba(0,0,0,0.2);
}
/* This pseudo class creates the bottom fold */
.box11:before{
content:'';
width: 25px;
height: 20px;
background: white;
position: absolute;
bottom:0; right:0;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 50% 40%, from(#fff), to( #eee), color-stop(.1,#fff));
background: -moz-linear-gradient(0 50%, #fff, #fff 10%, #eee);
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0,0,0,0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* This is the shading of the fold */
.box11:after{
content: '';
z-index: -1;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 17px rgba(0,0,0,0.2);
box-shadow: 20px 20px 17px rgba(0,0,0,0.2);
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-40px,-17px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-40px,-17px)
skew(20deg);
transform: rotate(0deg)
translate(-40px,-17px)
skew(20deg);
}
/* This is the top tape of the box */
.box11_tape{
position:absolute;
top:-25px; left: 30%;
width: 130px;
height: 40px;
background:#ccc;
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
}
/* This is the selector of the twelfth box, here's where we establish the measures, background colors, borders and shadows */
.box12{
margin: 50px;
width: 300px;
padding: 0 0 1px 0;
position:relative;
background:#f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#f3f3f3), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0 0 270deg, #f3f3f3, #f3f3f3 10%, #fff);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
-webkit-border-bottom-right-radius: 60px 60px;
-moz-border-radius-bottomright: 60px 60px;
border-bottom-right-radius: 60px 60px;
-webkit-border-bottom-left-radius: 60px 60px;
-moz-border-radius-bottomleft: 60px 60px;
border-bottom-left-radius: 60px 60px;
-webkit-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: -1px 2px 2px rgba(0, 0, 0, 0.2);
}
/* This is the bottom left fold */
.box12:before{
content:'';
width: 25px;
height: 20px;
background: white;
position: absolute;
bottom:0; right:0;
background: -webkit-gradient(linear, 0% 20%, 50% 40%, from(#fff), to( #eee), color-stop(.1,#fff));
background: -moz-linear-gradient(0 50%, #fff, #fff 10%, #eee);
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* This is the shading of the right fold */
.box12:after{
content: '';
z-index: -10;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 17px rgba(0, 0, 0, 0.2);
box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-40px,-17px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-40px,-17px)
skew(20deg);
transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
}
/* This is the shading of the left fold */
.fold_box12{
z-index: -10;
width: 50px;
height: 50px;
position:absolute;
bottom:0; left:0;
-webkit-box-shadow: -20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -20px 20px 17px rgba(0, 0, 0, 0.2);
box-shadow: -20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
-moz-transform: rotate(0deg)
translate(40px,-17px)
skew(-20deg);
-o-transform: rotate(0deg)
translate(40px,-17px)
skew(-20deg);
transform: rotate(0deg)
translate(40px,-20px)
skew(-20deg);
}
/* This is the bottom left fold */
.fold2_box12{
width: 25px;
height: 20px;
z-index:20;
background: white;
position: absolute;
bottom:0; left:0;
background: -webkit-gradient(linear, 0% 20%, 50% 80%, from(#fff), to( #eee), color-stop(.1,#fff));
background: -moz-linear-gradient(0 50%, #fff, #fff 10%, #eee);
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
-moz-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
-o-transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
transform: rotate(103deg)
skew(-3deg,-40deg)
translate(-13px,-15px);
}
/* This is the top tape of the box */
.box12_tape{
content: '';
position:absolute;
top:-25px; left: 30%;
width: 130px;
height: 40px;
background: #ccc;
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0% 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
}
/* This is the selector of the thirteenth box, here's where we establish the measures, background colors, borders and shadows */
.box13{
margin: 50px;
width: 300px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(0% 0% 270deg, #fff, #fff 10%, #f3f3f3);
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
border-left: 1px solid #ccc;
-webkit-border-top-left-radius: 60px 5px;
-moz-border-radius-topleft:60px 5px;
border-top-left-radius:60px 5px;
-webkit-border-top-right-radius: 60px 5px;
-moz-border-radius-topright:60px 5px;
border-top-right-radius:60px 5px;
-webkit-border-bottom-right-radius: 60px 60px;
-moz-border-radius-bottomright:60px 60px;
border-bottom-right-radius: 60px 60px;
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.3) ;
}
/* This is the bottom left fold */
.box13:before{
content:'';
width: 25px;
height: 20px;
position: absolute;
bottom:0;
right:0;
-webkit-border-bottom-right-radius: 30px;
-moz-border-radius-bottomright: 30px;
border-bottom-right-radius: 30px;
-webkit-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-moz-box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.3);
-webkit-transform:
rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-moz-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
-o-transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
transform: rotate(-20deg)
skew(-40deg,-3deg)
translate(-13px,-13px);
}
/* This is the fold's shading */
.box13:after{
content: '';
z-index: -10;
width: 100px;
height: 100px;
position:absolute;
bottom:0;
right:0;
background: rgba(0, 0, 0, 0.2);
display: inline-block;
-webkit-box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 20px 20px 18px rgba(0, 0, 0, 0.2);
box-shadow: 20px 20px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-moz-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
-o-transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
transform: rotate(0deg)
translate(-45px,-20px)
skew(20deg);
}
/* This is the top left shadow */
.box13_corner_lf{
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
z-index:-6;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-o-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
}
/* this is the top right shadow */
.box13_corner_rt{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
display: inline-block;
z-index:-6;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
}
/* This is the left side tape */
.box13_tape:before{
content: '';
position:absolute;
top:0; left: 0;
width: 130px;
height: 40px;
background:rgba(0,0,0,0.2);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0% 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(90deg) skew(0,0) translate(100px,65px);
-moz-transform: rotate(90deg) skew(0,0) translate(100px,65px);
-o-transform: rotate(90deg) skew(0,0) translate(100px,65px);
transform: rotate(90deg) skew(0,0) translate(100px,65px);
}
/* This is the right side tape */
.box13_tape:after{
content: '';
position:absolute;
top:0; right: 0;
width: 130px;
height: 40px;
background:rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0% 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(90deg) skew(0,0) translate(100px,-65px);
-moz-transform: rotate(90deg) skew(0,0) translate(100px,-65px);
-o-transform: rotate(90deg) skew(0,0) translate(100px,-65px);
transform: rotate(90deg) skew(0,0) translate(100px,-65px);
}
/* This is the selector of the fourteenth box, here's where we establish the measures, background colors, borders and shadows */
.box14{
margin: 50px;
width: 300px;
padding: 5px 0 ;
position:relative;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(0% 0% 270deg, #fff, #fff 10%, #f3f3f3);
border: 1px solid #ccc;
-webkit-border-radius: 60px 5px;
-moz-border-radius: 60px/5px;
border-radius: 60px/5px;
-webkit-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0px 0px 35px rgba(0, 0, 0, 0.1) inset;
}
/* This is the top right shadow */
.box14:before{
content: '';
width: 50px;
height: 50px;
top:0; right:0;
position:absolute;
display: inline-block;
z-index:-1;
-webkit-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
box-shadow: 10px -10px 8px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-moz-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
-o-transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
transform: rotate(2deg)
translate(-14px,20px)
skew(-20deg);
}
/* This is the top left shadow */
.box14:after{
content: '';
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
z-index:-1;
display: inline-block;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-o-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
}
/* This class establishes the tape of the top side of the box */
.box14_tape{
position:absolute;
top:0; right: 0;
width: 130px;
height: 40px;
background: rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0% 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
-webkit-transform: rotate(6deg) skew(0,0) translate(-60%,-5px);
-moz-transform: rotate(6deg) skew(0,0) translate(-60%,-5px);
-o-transform: rotate(6deg) skew(0,0) translate(-60%,-5px);
transform: rotate(6deg) skew(0,0) translate(-60%,-5px);
}
/* This is the selector of the fifteenth box, here's where we establish the measures, background colors, borders and shadows */
.box15{
margin: 50px;
width: 320px;
min-height: 150px;
padding: 0 0 1px 0;
position:relative;
background:#fff;
background: -webkit-gradient(linear, 100% 100%, 50% 10%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(100% 50% 90deg, #fff, #fff 10%, #f3f3f3);
border: 1px solid #ccc;
-webkit-box-shadow: 1px 1px 4px rgba(0,0,0, 0.1);
-moz-box-shadow: 1px 1px 4px rgba(0,0,0,0.1);
box-shadow: 1px 1px 4px rgba(0,0,0,0.1);
-webkit-border-bottom-right-radius: 60px 5px;
-moz-border-radius-bottomright: 60px 5px;
border-bottom-right-radius: 60px 5px;
}
/* This pseudo class creates the multiple sheets effect */
.box15:before{
content: '';
width: 98%;
z-index:-1;
height: 100%;
padding: 0 0 1px 0;
position: absolute;
bottom:0; right:0;
background: #fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f9f9f9), color-stop(.1,#fff));
background: -moz-linear-gradient(0 0 270deg, #fff, #fff 10%, #f9f9f9);
border: 1px solid #ccc;
-webkit-box-shadow: 1px 1px 8px rgba(0,0,0, 0.1);
-moz-box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
box-shadow: 1px 1px 8px rgba(0,0,0,0.1);
-webkit-border-bottom-right-radius: 60px 5px;
-moz-border-radius-bottomright: 60px 5px;
border-bottom-right-radius: 60px 5px;
-webkit-transform: skew(2deg,2deg)
translate(3px,8px);
-moz-transform: skew(2deg,2deg)
translate(3px,8px);
-o-transform: skew(2deg,2deg)
translate(3px,8px);
transform: skew(2deg,2deg)
translate(3px,8px);
}
.box15:after{
content: '';
width: 98%;
z-index:-1;
height: 98%;
padding: 0 0 1px 0;
position: absolute;
bottom:0; right:0;
background: #f3f3f3;
background: -webkit-gradient(linear, 0% 20%, 0% 100%, from(#f3f3f3), to(#f6f6f6), color-stop(.1,#fff));
background: -moz-linear-gradient(0% 0% 360deg, #f3f3f3, #fff, #f6f6f6);
border: 1px solid #ccc;
-webkit-box-shadow: 0px 0px 8px rgba(0,0,0, 0.1);
-moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.1);
box-shadow: 0px 0px 8px rgba(0,0,0,0.1);
-webkit-transform: skew(2deg,2deg)
translate(-1px,2px);
-moz-transform: skew(2deg,2deg)
translate(-1px,2px);
-o-transform: skew(2deg,2deg)
translate(-1px,2px);
transform: skew(2deg,2deg)
translate(-1px,2px);
}
/* This class creates the top left tape */
.box15_tape{
position:absolute;
top:0; left: 0;
width: 130px;
height: 40px;
background:rgba(0, 0, 0, 0.1);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
-webkit-transform: rotate(-30deg) skew(0,0) translate(-30px,-20px);
-moz-transform: rotate(-30deg) skew(0,0) translate(-30px,-20px);
-o-transform: rotate(-30deg) skew(0,0) translate(-30px,-20px);
transform: rotate(-30deg) skew(0,0) translate(-30px,-20px);
}
/* This is the selector of the sixteenth box, here's where we establish the measures, background colors, borders and shadows */
.box16{
margin: 70px 50px;
width: 300px;
min-height: 250px;
position:relative;
border: 2px solid #ccc;
background: rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 1px 12px rgba(0,0,0,0.1);
box-shadow: 0px 1px 12px rgba(0,0,0,0.1);
}
/* This is the picture's frame */
.box16:before{
content: '';
width: 110%;
left: 0;
height: 125%;
z-index:-1;
position:absolute;
border: 1px solid #ccc;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 92%, from(#fff), to(#f3f3f3), color-stop(.1,#fff));
background: -moz-linear-gradient(0% 0% 270deg, #fff, #fff 10%, #f3f3f3);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
box-shadow: 0px 0px 12px rgba(0,0,0,0.1);
-webkit-transform: translate(-5%,-5%);
-moz-transform: translate(-5%,-5%);
-o-transform: translate(-5%,-5%);
transform: translate(-5%,-5%);
}
/* This pseudo class creates the frame's shadow */
.box16:after{
content: '';
width: 100%;
left: 0;
height: 115%;
z-index:-2;
background: none;
position:absolute;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
-webkit-box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
box-shadow: 15px 0px 30px rgba(0, 0, 0, 0.2);
-webkit-transform: translate(0,0);
-moz-transform: translate(0,0);
-o-transform: translate(0,0);
transform: translate(0,0);
}
/* This selector and pseudo class creates the tapes of the top left sector */
.box16_tape{
position:absolute;
top:0; left: 0;
width: 130px;
height: 40px;
background: rgba(0,0,0,0.2);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
-webkit-transform: rotate(-30deg) skew(0,0) translate(-20px,-20px);
-moz-transform: rotate(-30deg) skew(0,0) translate(-20px,-20px);
-o-transform: rotate(-30deg) skew(0,0) translate(-20px,-20px);
transform: rotate(-30deg) skew(0,0) translate(-20px,-20px);
}
.box16_tape:before{
content: '';
position:absolute;
top:0; left: 0;
width: 130px;
height: 40px;
background:rgba(0,0,0,0.2);
background: -webkit-gradient(linear, 555% 20%, 0% 92%, from(rgba(0, 0, 0, 0.1)), to(rgba(0, 0, 0, 0.0)), color-stop(.1,rgba(0, 0, 0, 0.2)));
background: -moz-linear-gradient(555% 0 180deg, rgba(0,0,0,0.1), rgba(0,0,0,0.2) 10%, rgba(0,0,0,0.0));
border-left: 1px dashed rgba(0, 0, 0, 0.1);
border-right: 1px dashed rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
box-shadow: 0px 0px 12px rgba(0,0,0,0.2);
-webkit-transform: rotate(0deg) skew(0,0) translate(-15px,-20px);
-moz-transform: rotate(0deg) skew(0,0) translate(-15px,-20px);
-o-transform: rotate(0deg) skew(0,0) translate(-15px,-20px);
transform: rotate(0deg) skew(0,0) translate(-15px,-20px);
}
/*}}}*/
This package provides a toolbar of interactive 'power tools' that you can use while editing a tiddler to quickly insert TiddlyWiki tiddler links, images, macros, etc. or common formatting sequences directly into tiddler content, as well as perform other functions (such as find/replace, sort, split, convert, etc.) that can be used to modify the current tiddler's source content in a variety of ways.
<<tiddler QuickEditToolbar with: show>>
!!!!!Installation:
<<<
Individual ~QuickEdit buttons are defined in separate tiddlers (e.g., [[QuickEdit_replace]]) that have also been //transcluded// into a single toolbar definition named [[QuickEditToolbar]]. You can edit this definition to add, remove, or rearrange the toolbar buttons to best suit your needs, and then embed the [[QuickEditToolbar]] tiddler into your document's [[EditTemplate]], like this:
{{{
<div macro='tiddler QuickEditToolbar'></div>
}}}
Next, in order to support some of the formatting 'shortcuts' provided by the toolbar, add a reference to the shortcuts CSS class definitions in your [[StyleSheet]]:
{{{
[[StyleSheetShortcuts]]
}}}
By default, the QuickEdit toolbar is hidden until you enable it by using the ''toggleQuickEdit'' command, which you can add to the ~EditToolbar definition in [[ToolbarCommands]]:
{{{
|EditToolbar|... toggleQuickEdit ...|
}}}
You can also toggle the ~QuickEdit toolbar display via a single checkbox option that can be added to [[SideBarOptions]] (or any other desired location):
{{{
<<option chkShowQuickEdit>> show QuickEdit toolbar
}}}
Note: You can 'hard-code' the ''chkShowQuickEdit'' setting, so that the toolbar will be //initially// displayed, by creating a tiddler (e.g., ConfigTweaks), tagged with <<tag systemConfig>>, containing:
{{{
config.options.chkShowQuickEdit=true;
}}}
Alternatively, if you want the toolbar to //always// be displayed, regardless of the option setting, you can add a special keyword, ''show'', to the [[EditTemplate]] syntax, like this:
{{{
<div macro='tiddler QuickEditToolbar with: show'></div>
}}}
<<<
/***
|Name|QuickEditPlugin|
|Source|http://www.TiddlyTools.com/#QuickEditPlugin|
|Documentation|http://www.TiddlyTools.com/#QuickEditPlugin|
|Version|2.4.4|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|~CoreVersion|2.1|
|Type|plugin|
|Description|Support functions for ~QuickEdit package: styles, utility functions, and 'toggleQuickEdit' command|
!!!!!Revisions
<<<
2011.02.14 2.4.4 fix OSX error: use picker.file.path
2009.06.11 2.4.3 added keyup() function to abbreviate listbox handling for CR and ESC
2009.05.07 2.4.2 added processed() function to abbreviate event handler code
2008.09.07 2.4.1 added removeCookie() function for compatibility with [[CookieManagerPlugin]]
2008.05.17 2.4.0 copied code from StickyPopupPlugin to remove dependency
2008.05.12 2.3.0 added "toggleQuickEdit" command handler (replaces inline script command)
2008.01.11 2.2.0 converted from inline script
2007.03.29 1.0.0 initial release (as inline script)
<<<
!!!!!Code
***/
//{{{
version.extensions.QuickEditPlugin= {major: 2, minor: 4, revision: 4, date: new Date(2011,2,14)};
// SET STYLESHEET
setStylesheet("\
.quickEdit a { border:2px outset ButtonFace; padding:0px 3px !important; \
-moz-border-radius:.5em; -webkit-border-radius:.5em; \
-moz-appearance:button !important; -webkit-appearance:push-button !important; \
background-color:ButtonFace; color:ButtonText !important; \
line-height:200%; font-weight:normal; } \
.quickEdit a:hover { border: 2px inset ButtonFace; background-color:ButtonFace; }\
", "quickEditStyles");
// REMOVE COOKIE
if (window.removeCookie===undefined) {
window.removeCookie=function(name) {
document.cookie = name+'=; expires=Thu, 01-Jan-1970 00:00:01 UTC; path=/;';
}
}
// UTILITY FUNCTIONS
config.quickEdit = {
processed: function(ev) { ev=ev||window.event;
ev.cancelBubble=true;
if(ev.stopPropagation) ev.stopPropagation();
return false;
},
keyup: function(ev){ var k=(ev||window.event).keyCode;
if (k==13) this.onclick();
if (k==27) Popup.remove();
},
getField: function(where) {
var here=story.findContainingTiddler(where); if (!here) return null;
var e=story.getTiddlerField(here.getAttribute("tiddler"),"text");
if (e&&e.getAttribute("edit")=="text") return e;
return null;
},
setSelection: function(where,newtext) {
var e=this.getField(where); if (!e) return false;
e.focus(); replaceSelection(e,newtext);
return false;
},
wrapSelection: function(where,before,after) {
var e=this.getField(where); if (!e) return false;
e.focus(); replaceSelection(e,before+config.quickEdit.getSelection(e)+after);
return false;
},
getSelection: function(e) {
var seltext="";
if (e&&e.setSelectionRange)
seltext=e.value.substr(e.selectionStart,e.selectionEnd-e.selectionStart);
else if (document.selection) {
var range = document.selection.createRange();
if (range.parentElement()==e) seltext=range.text
}
return seltext;
},
promptForFilename: function(msg,path,file) {
if(window.Components) { // moz
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var nsIFilePicker = window.Components.interfaces.nsIFilePicker;
var picker = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
picker.init(window, msg, nsIFilePicker.modeOpen);
var thispath = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
thispath.initWithPath(path);
picker.displayDirectory=thispath;
picker.defaultExtension='jpg';
picker.defaultString=file;
picker.appendFilters(nsIFilePicker.filterAll|nsIFilePicker.filterImages);
if (picker.show()!=nsIFilePicker.returnCancel)
var result="file:///"+picker.file.path.replace(/\\/g,'/');
}
catch(e) { alert('error during local file access: '+e.toString()) }
}
else { // IE
try { // XP only
var s = new ActiveXObject('UserAccounts.CommonDialog');
s.Filter='All files|*.*|JPG files|*.jpg|GIF files|*.gif|PNG files|*.png|';
s.FilterIndex=1; // default to JPG
s.InitialDir=path;
s.FileName=file;
if (s.showOpen()) var result=s.FileName;
}
catch(e) { var result=prompt(msg,path+file); } // fallback for non-XP IE
}
return result;
}
}
//}}}
//{{{
if (config.options.chkShowQuickEdit===undefined) config.options.chkShowQuickEdit=false;
config.commands.toggleQuickEdit = {
hideReadOnly: true,
getText: function() { return config.options.chkShowQuickEdit?'\u221Aquickedit':'quickedit'; },
tooltip: 'show QuickEdit toolbar buttons',
handler: function(event,src,title) {
var opt='chkShowQuickEdit';
config.options[opt]=!config.options[opt];
config.macros.option.propagateOption(opt,"checked", config.options[opt],"input");
if (config.options[opt]) saveOptionCookie(opt); else removeCookie(opt);
src.innerHTML=config.commands.toggleQuickEdit.getText();
story.forEachTiddler(function(t,e){if (story.isDirty(t)) refreshElements(e);});
return false;
}
};
//}}}
// // COPIED FROM [[StickyPopupPlugin]] TO ELIMINATE PLUGIN DEPENDENCY
//{{{
if (config.options.chkStickyPopups==undefined) config.options.chkStickyPopups=false;
Popup.stickyPopup_onDocumentClick = function(ev)
{
// if click is in a sticky popup, ignore it so popup will remain visible
var e = ev ? ev : window.event; var target = resolveTarget(e);
var p=target; while (p) {
if (hasClass(p,"popup") && (hasClass(p,"sticky")||config.options.chkStickyPopups)) break;
else p=p.parentNode;
}
if (!p) // not in sticky popup (or sticky popups disabled)... use normal click handling
Popup.onDocumentClick(ev);
return true;
};
try{removeEvent(document,"click",Popup.onDocumentClick);}catch(e){};
try{addEvent(document,"click",Popup.stickyPopup_onDocumentClick);}catch(e){};
//}}}
/%
|Name|QuickEditToolbar|
|Source|http://www.TiddlyTools.com/#QuickEditToolbar|
|Version|2.4.4|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.2|
|Type|transclusion|
|Requires|QuickEditPlugin|
|Optional|QuickEdit_*|
|Description|format/insert TiddlyWiki content using toolbar buttons|
Usage:
* install [[QuickEditPlugin]] (runtime support functions)
* add the toolbar to [[EditTemplate]]:
<div macro='tiddler QuickEditToolbar with: show'></div>
* 'show' (optional) forces the toolbar to always be displayed or,
omit keyword and use <<option chkShowQuickEdit>> setting
* selected QuickEdit buttons can also be added individually to the
regular tiddler toolbar by adding references directly in [[EditTemplate]]:
<span class='toolbar' macro='tiddler QuickEdit_...'></span>
* see [[QuickEditPackage]] for additional installation options
%/{{hidden fine center quickEdit{
<<tiddler {{ // show/hide toolbar
var here=story.findContainingTiddler(place); if (here) var tid=here.getAttribute('tiddler');
var show='$1'!='$'+'1'||config.options.chkShowQuickEdit||tid=='QuickEditToolbar';
place.style.display=show?'block':'none';
'';}}>>/%
TOOLBAR DEFINITION - add, remove, or re-order items as desired:
= = = = = = = = = =
%/<<tiddler QuickEdit_format>>/%
%/<<tiddler QuickEdit_align>>/%
%/<<tiddler QuickEdit_color>>/%
%/<<tiddler QuickEdit_font>>/%
%/<<tiddler QuickEdit_custom>>/%
%/ /% (SPACER)
%/<<tiddler QuickEdit_replace>>/%
%/<<tiddler QuickEdit_split>>/%
%/<<tiddler QuickEdit_sort>>/%
%/<<tiddler QuickEdit_convert>>/%
%/ /% (SPACER)
%/<<tiddler QuickEdit_link>>/%
%/<<tiddler QuickEdit_insert>>/%
%/<<tiddler QuickEdit_macro>>/%
%/<<tiddler QuickEdit_image>>/%
%/}}}
/%
|Name|QuickEdit_align|
|Source|http://www.TiddlyTools.com/#QuickEdit_align|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - text alignment|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="justér tekst"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg tekstjustering...','');
s.options[s.length]=new Option('venstre','left');
s.options[s.length-1].title='{{left{...}}}';
s.options[s.length]=new Option('centrer','center');
s.options[s.length-1].title='{{center{...}}}';
s.options[s.length]=new Option('højre','right');
s.options[s.length-1].title='{{right{...}}}';
s.options[s.length]=new Option('ret','justify');
s.options[s.length-1].title='{{justify{...}}}';
s.options[s.length]=new Option('flyd til venstre','floatleft');
s.options[s.length-1].title='{{floatleft{...}}}';
s.options[s.length]=new Option('flyd til højre','floatright');
s.options[s.length-1].title='{{floatright{...}}}';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
config.quickEdit.wrapSelection(this.button,'{{'+this.value+'{','}}}');
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>justér</a></html>
/%
|Name|QuickEdit_color|
|Source|http://www.TiddlyTools.com/#QuickEdit_color|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - text/background color|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="tekst/baggrundsfarve - @@color:#RGB;background-color:#RGB;...@@"
onclick="var p=Popup.create(this,null,'popup sticky smallform'); if (!p) return false;
p.style.padding='2px';
function hex(d) { return '0123456789ABCDEF'.substr(d,1); }
var fg=createTiddlyElement(p,'select'); fg.button=this;
fg.style.width='12em';
fg.options[0]=new Option('tekstfarve...','');
fg.options[1]=new Option('\xa0 eller skriv en værdi','_ask');
fg.options[2]=new Option('\xa0 eller brug standardfarve','');
for (var r=0;r<16;r+=3) for (var g=0;g<16;g+=3) for (var b=0;b<16;b+=3) {
var label=hex(r)+hex(g)+hex(b);
fg.options[fg.length]=new Option(label,'#'+label);
fg.options[fg.length-1].style.color='#'+label;
}
fg.onchange=function(){ var val=this.value;
if (val=='_ask') { val=prompt('Skriv en CSS farveværdi');
if (!val||!val.length) return false; }
this.options[0].value=val; this.options[0].text=val.length?'text: '+val:'text color...';
var bg=this.nextSibling;
for (var i=3;i<bg.options.length;i++) bg.options[i].style.color=val;
var preview=this.nextSibling.nextSibling.nextSibling;
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (!t.length) t='~AaBbCcDdEeFfGgHhIiJj 1234567890';
var fg=this.value; if (fg.length) fg='color:'+fg+';';
var bg=this.nextSibling.value; if (bg.length) bg='background-color:'+bg+';';
if (fg.length||bg.length) t='@@'+fg+bg+t+'@@';
removeChildren(preview); wikify(t,preview);
this.selectedIndex=0; return false;
};
var bg=createTiddlyElement(p,'select'); bg.button=this;
bg.style.width='12em';
bg.options[0]=new Option('baggrundsfarve...','');
bg.options[1]=new Option('\xa0 eller skriv en værdi','_ask');
bg.options[2]=new Option('\xa0 eller brug standardfarve','');
for (var r=0;r<16;r+=3) for (var g=0;g<16;g+=3) for (var b=0;b<16;b+=3) {
var label=hex(15-r)+hex(15-g)+hex(15-b);
bg.options[bg.length]=new Option(label,'#'+label);
bg.options[bg.length-1].style.backgroundColor='#'+label;
}
bg.onchange=function(){ var val=this.value;
if (val=='_ask') { val=prompt('Skriv en CSS farveværdi');
if (!val||!val.length) return false; }
this.options[0].value=val;
this.options[0].text=val.length?'background: '+val:'baggrundsfarve...';
var fg=this.previousSibling;
for (var i=3;i<fg.options.length;i++) fg.options[i].style.backgroundColor=val;
var preview=this.nextSibling.nextSibling;
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (!t.length) t='~AaBbCcDdEeFfGgHhIiJj 1234567890';
var fg=this.previousSibling.value; if (fg.length) fg='color:'+fg+';';
var bg=this.value; if (bg.length) bg='background-color:'+bg+';';
if (fg.length||bg.length) t='@@'+fg+bg+t+'@@';
removeChildren(preview); wikify(t,preview);
this.selectedIndex=0; return false;
};
var b=createTiddlyElement(p,'input',null,null,null,{type:'button'}); b.button=this;
b.value='ok'; b.style.width='4em';
b.onclick=function() {
var fg=this.previousSibling.previousSibling.value; if (fg.length) fg='color:'+fg+';';
var bg=this.previousSibling.value; if (bg.length) bg='background-color:'+bg+';';
var t=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
t=t.replace(/^@@(color\:.+;)?(background-color\:.+;)?/,'').replace(/@@$/,'');
if (fg.length||bg.length) config.quickEdit.setSelection(this.button,'@@'+fg+bg+t+'@@');
Popup.remove(); return false;
};
var preview=createTiddlyElement(p,'div',null,'viewer'); var s=preview.style;
s.border='1px solid'; s.margin='2px'; s.width='24em'; s.padding='3px'; s.MozBorderRadius='3px';
s.overflow='hidden'; s.textAlign='center'; s.whiteSpace='normal';
var t=config.quickEdit.getSelection(config.quickEdit.getField(this));
wikify(t.length?t:'~AaBbCcDdEeFfGgHhIiJj 1234567890',preview);
Popup.show();
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>farve</a></html>
/%
|Name|QuickEdit_convert|
|Source|http://www.TiddlyTools.com/#QuickEdit_convert|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - convert between comma/tab-separated and TW table format|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="kovertér mellem komma/tab-separeret og TW tabelformat"
onclick="var e=config.quickEdit.getField(this);
if (e) e.focus(); var txt=config.quickEdit.getSelection(e);
if (txt.indexOf(',')+txt.indexOf('\t')+txt.indexOf('|')==-3) {
alert('Vælg tekst der indeholder tabulatorer, kommaer, eller TiddlyWiki tabelsyntaks.');
return false;
}
var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg en konverter...','');
if (txt.indexOf(',')!=-1) {
s.options[s.length]=new Option('kommaer -> tabel','commasToTable');
s.options[s.length]=new Option('kommaer -> tabulatorer','commasToTabs');
}
if (txt.indexOf('\t')!=-1) {
s.options[s.length]=new Option('tabulatorer -> tabel','tabsToTable');
s.options[s.length]=new Option('tabulatorer -> kommaer','tabsToCommas');
}
if (txt.indexOf('|')!=-1) {
s.options[s.length]=new Option('tabel -> tabulatorer','tableToTabs');
s.options[s.length]=new Option('tabel -> kommaer','tableToCommas');
}
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var e=config.quickEdit.getField(this.button); if (!e) return false;
e.focus(); var txt=config.quickEdit.getSelection(e);
switch(this.value) {
case 'tabsToTable':
txt=txt.replace(/\t/g,'|').replace(/^|$/g,'|');
txt=txt.replace(/\n/g,'|\n|').replace(/^\|$/g,'');
break;
case 'tableToTabs':
txt=txt.replace(/\t/g,' ').replace(/\|/g,'\t');
txt=txt.replace(/^\t/g,'').replace(/\t$/g,'');
txt=txt.replace(/\n\t/g,'\n').replace(/\t\n/g,'\n');
break;
case 'commasToTable':
txt=txt.replace(/,/g,'|').replace(/^|$/g,'|');
txt=txt.replace(/\n/g,'|\n|').replace(/^\|$/g,'');
break;
case 'tableToCommas':
txt=txt.replace(/,/g,' ').replace(/\|/g,',');
txt=txt.replace(/^,/g,'').replace(/,$/g,'');
txt=txt.replace(/\n,/g,'\n').replace(/,\n/g,'\n');
break;
case 'tabsToCommas':
txt=txt.replace(/\t/g,',');
break;
case 'commasToTabs':
txt=txt.replace(/,/g,'\t');
break;
}
replaceSelection(e,txt);
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>konvertér</a></html>
/%
|Name|QuickEdit_custom|
|Source|http://www.TiddlyTools.com/#QuickEdit_custom|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - custom defined formats|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
!help
Påmindelser:
Brugerdefinerede formater gemmes som en "HR-separeret liste" i [[QuickEdit_customList]], hvor den første linie af hvert listeemne er den 'etiket', der vises i rullelisten, efterfulgt af een eller flere linier af wiki indhold der skal sættes ind i tiddlerkilden.
Erstatningsmarkører kan bruges til dynamisk at indsætte værdier i det formaterede resultat: $1 indsætter tiddler editorens aktuelt markerede tekst. $[[message|default value]] interactively prompts for a value to be inserted. $[[message|$1]] uses the selected text as the default value. $[[message|{{javascript}}]] calculates the default value using javascript code.
!end help
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1" title="brugerdefinerede formater"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg et brugerdefineret format...','');
var items=store.getTiddlerText('QuickEdit_customList','').split('\n----\n');
for (var i=0; i<items.length; i++) {
if (!items[i].length) continue; var lines=items[i].split('\n');
var label=lines.shift(); var val=lines.join('\n');
s.options[s.length]=new Option(label,val); s.options[s.length-1].title=val;
}
s.options[s.length]=new Option('[Redigér brugerdefinerede formater...]','_edit');
s.options[s.length-1].title='tilføj/skift brugerdefinerede formater...';
s.size=Math.min(s.length,15);
s.onclick=function(){ if (!this.value.length) return;
if (this.value=='_edit') {
alert(store.getTiddlerText('QuickEdit_custom##help'));
story.displayTiddler(story.findContainingTiddler(this.button),
'QuickEdit_customList',DEFAULT_EDIT_TEMPLATE);
} else {
var e=config.quickEdit.getField(this.button); if (!e) return false;
e.focus(); var txt=config.quickEdit.getSelection(e);
replaceSelection(e, this.value.replace(/\$\x31/g,txt)
.replace(/\$\[\[[^\]]+\]\]/g, function(t){
x=t.substr(3,t.length-5).split('|');
var msg=x[0]; var def=x[1]||'';
if (def.startsWith('{{')) {
try{def=eval(def.substr(2,def.length-4))} catch(ex){showException(ex)}
}
return prompt(msg,def)||'';
})
);
}
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>brugerdefineret</a></html>
timestamp
$[[enter a date|{{new Date().formatString('DDD, MMM DDth, YYYY hh12:0mm:0ssam')}}]]
----
scrollbox
@@display:block;height:10em;overflow:auto;$1@@@@display:block;text-align:right;^^rul ned for mere...^^@@
----
nested slider
+++[$1]<<tiddler $1>>===
----
big red
@@font-size:36pt;color:red;$1@@
----
wikilink
[[$1]]
----
ikon
{{span{$1<<setIcon $2.png "" notext>>}}}
----
popout
<html><A HREF="javascript:void(0)"onclick="window.open('$1','link to $1','height=800, width=1000,scrollbars=no')" accesskey="u">Popout</a></html>
----
iframe
<html><div align="center"><iframe src="$1" frameborder="0" style="width:100%;height:800em"></iframe></div></html>
----
Hurtig fET tabel
<<forEachTiddler where 'tiddler.tags.contains("$1")'
sortBy 'tiddler.title'
write
'(index < 600)? "|!"+(index+1)+"|[["+tiddler.title+"]] |\n" : ""'
begin '"|sortable|k\n"
+"| !antal | !<<tag $1\>\> |h\n"'
end 'count+" tiddlere tagget med $1\n"' none '"ingen tiddlere tagget med $1 \n"'>>
----
fET TagTilTabs
<<forEachTiddler
where
'tiddler.tags.contains("$1")'
sortBy
'tiddler.title.toUpperCase()'
write '" [["+tiddler.title+" ]] \"view ["+tiddler.title+"]\" [["+tiddler.title+"]] "'
begin '"<<tabs txtMyAutoTab "'
end '">"+">"'
none '"//Ingen tiddlere er tagget med \"$1\"//"'
>>
----
Tiddlermakro
<<tiddler $1>>
----
Billede
[img(100%+,auto)[$1]]
----
ShowPopup
<<tiddler ShowPopup with: $1[[Klik]][[Se i popup her]] button>>
----
Ryk ned og gør til overskrift
$1h
/%
|Name|QuickEdit_font|
|Source|http://www.TiddlyTools.com/#QuickEdit_font|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - select font family|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="vælg en fontfamilie CSS attribut - @@font-family:facename;...@@"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg en fontfamilie...','');
var fonts=store.getTiddlerText('QuickEdit_fontList','').split('\n');
for (var i=0; i<fonts.length; i++) {
if (!fonts[i].length) continue;
s.options[s.length]=new Option(fonts[i],fonts[i]);
s.options[s.length-1].style.fontFamily=fonts[i];
}
s.options[s.length]=new Option('[Redigér listen over fonte...]','_edit');
s.options[s.length-1].title='skriv fontnavn, et pr linie...';
s.size=Math.min(s.length,15);
s.onclick=function(){
if (this.value=='_edit')
story.displayTiddler(story.findContainingTiddler(this.button),'QuickEdit_fontList',DEFAULT_EDIT_TEMPLATE);
else
config.quickEdit.wrapSelection(this.button,'@@font-family:\x22'+this.value+'\x22;','@@');
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>fonte</a></html>
Arial,helvetica,sans-serif
Arial Black,Gadget,sans-serif
Bookman Old Style,serif
Comic Sans MS,cursive
Courier,monospaced
Courier New,Courier,monospaced
Garamond,serif
Georgia,serif
Impact,Charcoal,sans-serif
Lucida Console,Monaco,monospaced
Lucida Sans Unicode,Lucida Grande,sans-serif
MS Sans Serif,Geneva,sans-serif
MS Serif,New York,sans-serif
Palatino Linotype,Book Antiqua,Palatino,serif
Symbol,sans-serif
Tahoma,Geneva,sans-serif
Times New Roman,Times,serif
Trebuchet MS,Helvetica,sans-serif
Verdana,Geneva,sans-serif
Webdings,sans-serif
Wingdings,Zapf Dingbats,sans-serif
/%
|Name|QuickEdit_format|
|Source|http://www.TiddlyTools.com/#QuickEdit_format|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - basic text formats, headings, blockquotes, etc.|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="ren tekst (fjern AL formatering)" accesskey="P"
onclick="var e=config.quickEdit.getField(this); if (e) e.focus(); var txt=config.quickEdit.getSelection(e);
config.quickEdit.setSelection(e,wikifyPlainText(txt)); return false;"
> ~ </a></html>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="''fed''" accesskey="F"
onclick="config.quickEdit.wrapSelection(this,'\x27\x27','\x27\x27'); return false;"
> F </a></html>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="//kursiv//" accesskey="K"
onclick="config.quickEdit.wrapSelection(this,'//','//'); return false;"
> K </a></html>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="__understreg__" accesskey="U"
onclick="config.quickEdit.wrapSelection(this,'__','__'); return false;"
> U </a></html>/%
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="--gennemstreg--" accesskey="G"
onclick="config.quickEdit.wrapSelection(this,'--','--'); return false;"
> G </a></html>/%
%/ /% SPACER
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="formatér tekst"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg tekst format...','');
s.options[s.length]=new Option('CSS klasse indpakning','{{$1{,}}},Skriv et CSS klassenavn');
s.options[s.length-1].title='CSS klasse indpakning - {{klassenavn klassenavn etc{...}}}';
s.options[s.length]=new Option('inline CSS stilarter','@@$1,@@,Skriv CSS (attribut:værdi;attribut:værdi;...;)');
s.options[s.length-1].title='inline CSS stilarter - @@attr:value;attr:value;...@@';
s.options[s.length]=new Option('overskrift 1','\n!,\n');
s.options[s.length-1].title='H1 heading - !';
s.options[s.length]=new Option('overskrift 2','\n!!,\n');
s.options[s.length-1].title='H2 heading - !!';
s.options[s.length]=new Option('overskrift 3','\n!!!,\n');
s.options[s.length-1].title='H3 heading - !!!';
s.options[s.length]=new Option('overskrift 4','\n!!!!,\n');
s.options[s.length-1].title='H4 heading - !!!!';
s.options[s.length]=new Option('overskrift 5','\n!!!!!,\n');
s.options[s.length-1].title='H5 heading - !!!!!';
s.options[s.length]=new Option('blockquote','\n\<\<\<\n,\n\<\<\<\n');
s.options[s.length-1].title='indskudt blokcitat - \<\<\<';
s.options[s.length]=new Option('monospaced','{{{,}}}');
s.options[s.length-1].title='inline monospaced tekst - {{{...}}}';
s.options[s.length]=new Option('ren tekst','\n{{{\n,\n}}}\n');
s.options[s.length-1].title='multi-linie monospaced tekst boks - {{{...}}}';
s.options[s.length]=new Option('superscript','^^,^^');
s.options[s.length-1].title='^^superscript^^';
s.options[s.length]=new Option('subscript','~~,~~');
s.options[s.length-1].title='~~subscript~~';
s.options[s.length]=new Option('HTML','<html>,<\x2fhtml>');
s.options[s.length-1].title='HTML syntaks - <html>...<\x2fhtml>';
s.options[s.length]=new Option('kommentar','/%,%/');
s.options[s.length-1].title='kommentar (skjult indhold) - /%...%/';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var parts=this.value.split(',');
var prefix=parts[0]; var suffix=parts[1]; var ask=parts[2];
if (ask) {
var val=prompt(ask); if (!val) { Popup.remove(); return false; }
prefix=prefix.replace(/\$1/g,val); suffix=suffix.replace(/\$1/g,val);
}
config.quickEdit.wrapSelection(this.button,prefix,suffix);
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>formatér</a></html>
/%
|Name|QuickEdit_image|
|Source|http://www.TiddlyTools.com/#QuickEdit_image|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - embed an image|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="indsæt et billede (jpg/gif/png) - [img[værktøjstip|URL]] eller [img[værktøjstip|sti/til/fil.filtype]]"
onclick="var fn=config.quickEdit.promptForFilename(
'Skriv/vælg en billedfil',getLocalPath(document.location.href),'');
if (!fn) return false; /* cancelled by user */
var h=document.location.href; var p=decodeURIComponent(h.substr(0,h.lastIndexOf('/')+1));
if (fn.startsWith(p)) fn=fn.substr(p.length); /* use RELATIVE path/filename.ext */
var tip=prompt('Enter a tooltip for this image',''); if (!tip) tip=''; else tip+='|';
return config.quickEdit.setSelection(this,'[img['+tip+fn+']]');"
>billede</a></html>
/%
|Name|QuickEdit_insert|
|Source|http://www.TiddlyTools.com/#QuickEdit_insert|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - insert content from another tiddler or external file|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="indsæt indhold fra en anden tiddler eller ekstern fil"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s2=createTiddlyElement(p,'select'); s2.title='filtrer efter tag';
s2.options[0]=new Option('filtrer efter tag...','');
s2.options[s2.length]=new Option('[alle tiddlere]','');
var tags=store.getTags();
for (var t=0; t<tags.length; t++) s2.options[s2.length]=new Option(tags[t][0],tags[t][0]);
s2.onchange=function(){
var tag=this.value;
var tids=tag.length?store.reverseLookup('tags',tag,true):store.reverseLookup('tags','excludeLists');
var list=this.nextSibling.nextSibling;
while (list.length) list.options[0]=null;
var prompt='select a tiddler or file...';
if (tag.length) prompt='vælg en tagget tiddler ['+tids.length+' matches]...';
list.options[0]=new Option(prompt,'');
if (!tag.length) list.options[list.length]=new Option('[gennemse...]','_file');
for (var t=0; t<tids.length; t++) {
list.options[list.length]=new Option(tids[t].title,tids[t].title);
list.options[list.length-1].title=tids[t].getSubtitle();
}
list.size=Math.min(list.length,10);
list.selectedIndex=0; list.focus();
this.style.width=list.offsetWidth+'px';
if (!tag.length) this.selectedIndex=0;
};
createTiddlyElement(p,'br');
var s=createTiddlyElement(p,'select'); s.button=this;
s.title='select a tiddler or file';
s.options[0]=new Option('vælg en tiddler eller fil...','');
s.options[s.length]=new Option('[gennemse...]','_file');
var tids=store.reverseLookup('tags','excludeLists');
for (var t=0; t<tids.length; t++) {
s.options[s.length]=new Option(tids[t].title,tids[t].title);
s.options[s.length-1].title=tids[t].getSubtitle();
}
s.size=Math.min(s.length,10);
s.onclick=function(){ if (!this.value.length) return false;
if (this.value=='_file') {
var fn=config.quickEdit.promptForFilename(
'Enter/select a text file',getLocalPath(document.location.href),'');
if (!fn) return false; /* cancelled by user */
var txt=loadFile(getLocalPath(fn));
if (!txt) { alert('Fejl: kan ikke læse indholdet fra \0027'+fn+'\0027'); return; }
}
else var txt=store.getTiddlerText(this.value);
if (!txt) {
displayMessage(this.value+' ikke fundet');
this.selectedIndex=0; this.focus();
return false;
}
config.quickEdit.setSelection(this.button,txt);
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s2.style.width=s.offsetWidth+'px';
s.focus();
return config.quickEdit.processed(event);"
>indsæt</a></html>
/%
|Name|QuickEdit_link|
|Source|http://www.TiddlyTools.com/#QuickEdit_link|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - link to tiddler or external file|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="add a link to a tiddler or external file - [[link text|TiddlerName]]"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s2=createTiddlyElement(p,'select'); s2.title='filter by tag';
s2.options[0]=new Option('filter by tag...','');
s2.options[s2.length]=new Option('[all tiddlers]','');
var tags=store.getTags();
for (var t=0; t<tags.length; t++) s2.options[s2.length]=new Option(tags[t][0],tags[t][0]);
s2.onchange=function(){
var tag=this.value;
var tids=tag.length?store.reverseLookup('tags',tag,true):store.reverseLookup('tags','excludeLists');
var list=this.nextSibling.nextSibling;
while (list.length) list.options[0]=null;
var prompt='select a tiddler or file...';
if (tag.length) prompt='select a tagged tiddler ['+tids.length+' matches]...';
list.options[0]=new Option(prompt,'');
if (!tag.length) list.options[list.length]=new Option('[browse for file...]','_file');
for (var t=0; t<tids.length; t++) {
list.options[list.length]=new Option(tids[t].title,tids[t].title);
list.options[list.length-1].title=tids[t].getSubtitle();
}
list.size=Math.min(list.length,10);
list.selectedIndex=0; list.focus();
this.style.width=list.offsetWidth+'px';
if (!tag.length) this.selectedIndex=0;
};
createTiddlyElement(p,'br');
var s=createTiddlyElement(p,'select'); s.button=this;
s.title='select a tiddler or file';
s.options[0]=new Option('select a tiddler or file...','');
s.options[s.length]=new Option('[browse for file...]','_file');
var tids=store.reverseLookup('tags','excludeLists');
for (var t=0; t<tids.length; t++) {
s.options[s.length]=new Option(tids[t].title,tids[t].title);
s.options[s.length-1].title=tids[t].getSubtitle();
}
s.size=Math.min(s.length,10);
s.onclick=function(){ if (!this.value.length) return false;
var title=this.value; var txt=title;
if (title=='_file') {
title=config.quickEdit.promptForFilename('Select a file',
getLocalPath(document.location.href),'');
if (!title) { this.selectedIndex=0; this.focus(); return false; }
var txt=title.substr(title.lastIndexOf('/')+1);
}
var txt=prompt('Enter the text to display for this link',txt);
if (!txt) { this.selectedIndex=0; this.focus(); return false; }
config.quickEdit.setSelection(this.button,'[['+txt+'|'+title+']]');
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s2.style.width=s.offsetWidth+'px';
s.focus();
return config.quickEdit.processed(event);"
>link</a></html>
/%
|Name|QuickEdit_macro|
|Source|http://www.TiddlyTools.com/#QuickEdit_macro|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - embed a macro with 'guide text'|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
Note:
Optional 'guideText' can be used to add suggested defaults/placeholders for specific macro parameters.
Add guideText to your own plugin-defined macros using:
config.macros.macroName.guideText='guide text goes here';
%/<<tiddler {{
/* define guide text for a few common TW core macros */
config.macros.edit.guideText='fieldname #rows';
config.macros.view.guideText='fieldname (link,wikified,date) format';
config.macros.slider.guideText='cookie TiddlerName label tooltip';
config.macros.option.guideText='(txtCookieName,chkCookieName)';
config.macros.tiddler.guideText='TiddlerName with: params...';
''; /* must return blank to suppress output */ }}>>/%
%/<html><hide linebreaks><a href='javascript:;' class='tiddlyLink' tabindex='-1'
title='tilføj en makro - \<\<makroNavn ...\>\>'
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg en makro...','');
var macros=[]; for (var m in config.macros) if (config.macros[m].handler) macros.push(m); macros.sort();
for (var i=0; i<macros.length; i++) { var m=macros[i];
var help=config.macros[m].guideText; if (!help) help=''; else help=' '+help;
s.options[s.length]=new Option(m,m+help);
s.options[s.length-1].title='\<\<'+m+help+'\>\>';
}
s.size=Math.min(s.length,15);
s.onclick=function(){ if (!this.value.length) return;
config.quickEdit.setSelection(this.button,'\<\<'+this.value+'\>\>');
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>makro</a></html>
/%
|Name|QuickEdit_replace|
|Source|http://www.TiddlyTools.com/#QuickEdit_replace|
|Version|2.4.5|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - find/replace selected text with replacement text|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
!!!Revisions
<<<
2010.12.26 2.4.5 fix use getField(this) to support hijacks by editSectionPlugin
<<<
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="find/erstat valgt tekst med anden tekst"
onclick="var p=Popup.create(this,null,'popup sticky smallform'); if (!p) return false;
var e=config.quickEdit.getField(this);
var s=config.quickEdit.getSelection(e);
var t=createTiddlyElement(p,'input'); t.onfocus=function(){this.select()};
t.value=s.length?s:'skriv måltekst';
var r=createTiddlyElement(p,'input'); r.onfocus=function(){this.select()};
r.value='skriv tekst der skal erstattes';
var b=createTiddlyElement(p,'button',null,null,'?');
b.style.width='2em';
b.title='FIND/FIND NÆSTE måltekst';
b.root=this;
b.onclick=function(ev) { /* FIND */
var e=config.quickEdit.getField(this.root);
var t=this.previousSibling.previousSibling;
var tv=t.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
e.focus();
if (e.setSelectionRange) { /* MOZ */
var newstart=e.value.indexOf(tv,e.selectionStart+1);
if (newstart==-1) newstart=e.value.indexOf(tv); /* wrap around */
if (newstart==-1) { alert('\u0022'+t.value+'\u0022 not found'); t.focus(); return; }
e.setSelectionRange(newstart,newstart+tv.length);
var linecount=e.value.split('\n').length;
var thisline=e.value.substr(0,e.selectionStart).split('\n').length;
e.scrollTop=Math.floor((thisline-1-e.rows/2)*e.scrollHeight/linecount);
} else if (document.selection) { /* IE */
var range=document.selection.createRange();
if(range.parentElement()==e) {
range.collapse(false);
var found=false; try{found=range.findText(v,e.value.length,4)}catch(e){}
if (found) range.select();
else { alert('\u0022'+t.value+'\u0022 not found'); t.focus(); }
}
}
};
b=createTiddlyElement(p,'button',null,null,'=');
b.style.width='2em';
b.title='ERSTAT valgt tekst';
b.root=this;
b.onclick=function(ev) { /* REPLACE */
var e=config.quickEdit.getField(this.root);
var t=this.previousSibling.previousSibling.previousSibling;
var r=this.previousSibling.previousSibling;
var rv=r.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
if ( (e.selectionStart!==undefined && e.selectionEnd==e.selectionStart)
|| (document.selection && document.selection.createRange().text==''))
this.previousSibling.click(); /* no selection... do FIND first */
if ( (e.selectionStart!==undefined && e.selectionEnd==e.selectionStart)
|| (document.selection && document.selection.createRange().text==''))
{ t.focus(); return; } /* still no selection... goto target input */
e.focus(); replaceSelection(e,rv);
};
b=createTiddlyElement(p,'button',null,null,'+');
b.style.width='2em';
b.title='ERSTAT valgt tekst OG FIND NÆSTE MÅLTEKST';
b.onclick=function(ev) { /* REPLACE and FIND NEXT */
this.previousSibling.click();
this.previousSibling.previousSibling.click();
};
b=createTiddlyElement(p,'button',null,null,'!');
b.style.width='2em';
b.title='ERSTAT ALLE forekomster af målteksten';
b.root=this;
b.onclick=function(ev) { /* REPLACE ALL */
var e=config.quickEdit.getField(this.root);
var t=this.previousSibling.previousSibling.previousSibling.previousSibling.previousSibling;
var r=this.previousSibling.previousSibling.previousSibling.previousSibling;
var tv=t.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
var rv=r.value.replace(/\\t/mg,'\t').unescapeLineBreaks();
if (!tv.length) { alert('Please enter the target text'); t.focus(); return; }
var m='Dette vil erstatte alle forekomster af:\n\n'+tv+'\n\nwith:\n\n'+rv+'\n\nEr du sikker?';
if (!confirm(m)) { r.focus(); r.select(); return; }
e.value=e.value.replace(new RegExp(tv.escapeRegExp(),'gm'),rv);
e.focus(); e.select(); Popup.remove();
};
Popup.show();
if (!s.length) {t.focus();t.select()} else {r.focus();r.select()}
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>erstat</a></html>
/%
|Name|QuickEdit_sort|
|Source|http://www.TiddlyTools.com/#QuickEdit_sort|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - sort lines of text|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="sortér tekstlinier"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg sorteringsorden...','');
s.options[s.length]=new Option('stigende','A');
s.options[s.length-1].title='ascending';
s.options[s.length]=new Option('faldende','D');
s.options[s.length-1].title='descending';
s.size=s.length;
s.onclick=function(){ if (!this.value.length) return;
var e=config.quickEdit.getField(this.button); if (!e) return false;
var lines=config.quickEdit.getSelection(e).split('\n').sort();
if (this.value=='D') lines=lines.reverse();
replaceSelection(e,lines.join('\n'));
e.focus();
Popup.remove(); return false;
};
s.onkeyup=config.quickEdit.keyup;
Popup.show();
s.focus();
return config.quickEdit.processed(event);"
>sortér</a></html>
/%
|Name|QuickEdit_split|
|Source|http://www.TiddlyTools.com/#QuickEdit_split|
|Version|2.4.3|
|Author|Eric Shulman|
|License|see http://www.TiddlyTools.com/#QuickEditPlugin|
|Type|html|
|Requires|QuickEditPlugin|
|Description|quickedit - move selection to new tiddler and insert link, embedded tiddler, or slider|
Usage: see http://www.TiddlyTools.com/#QuickEditToolbar
Based on ideas originally developed by YannPerrin
(http://yann.perrin.googlepages.com/twkd.html#easySlicer)
%/<html><hide linebreaks><a href="javascript:;" class="tiddlyLink" tabindex="-1"
title="flyt det markerede til en ny tiddler og indsæt et link, en indlejret tiddler, eller en slider"
onclick="var p=Popup.create(this); if (!p) return false; p.className+=' sticky smallform';
p.style.whiteSpace='nowrap';
var i=createTiddlyElement(p,'input');
i.defaultValue='Skriv titelen på en ny tiddler';
i.onfocus=function(){this.select()};
var s=createTiddlyElement(p,'select'); s.button=this;
s.options[0]=new Option('vælg type...','');
s.options[0].title='vælg opdelingstype';
s.options[1]=new Option('link','link');
s.options[1].title='erstat med [[TiddlerNavn]]';
s.options[2]=new Option('embed','embed');
s.options[2].title='erstat med\<\<tiddler TiddlerName\>\>';
s.options[3]=new Option('slider','slider');
s.options[3].title='erstat med \<\<slider \u0022\u0022 [[TiddlerNavn]] [[etiket]] [[værktøjstip]]\>\>';
s.onchange=function(){
if (s.previousSibling.value==s.previousSibling.defaultValue)
{ alert('A tiddler title is required'); s.selectedIndex=0; s.previousSibling.focus(); return false; }
var tid=s.previousSibling.value;
if (store.tiddlerExists(tid) && !confirm(config.messages.overwriteWarning.format([tid])))
{ s.previousSibling.focus(); return false; }
switch(s.value) {
case 'link':
var newtxt='[['+tid+']]';
break;
case 'embed':
var newtxt='\<\<tiddler [['+tid+']]\>\>';
break;
case 'slider':
var label=prompt('Skriv en slider-etiket',tid);
if (!label) { Popup.remove(); return false; }
var tip=prompt('Skriv et slider værktøjstip',label);
if (!tip) { Popup.remove(); return false; }
var newtxt='\<\<slider \u0022\u0022 [['+tid+']] [['+label+']] [['+tip+']]\>\>';
break;
}
var txt=config.quickEdit.getSelection(config.quickEdit.getField(this.button));
var saveNewTiddler = function(title, text, tags, fields){
var newTiddler = store.saveTiddler(title, title, text,
config.options.txtUserName, new Date(), tags, merge(merge({},fields),config.defaultCustomFields));
autoSaveChanges(null, [newTiddler]);
story.displayTiddler(story.findContainingTiddler(this.button),tid);
config.quickEdit.setSelection(this.button,newtxt);
Popup.remove(); return false;
};
Popup.show();
event.cancelBubble=true;if(event.stopPropagation)event.stopPropagation();return false;"
>opdel</a></html>
Du kan skrive i dette dokument - og jeg vil få det opdateret med det samme.
Opret selv nye dokumenter her [[TypeWithMe|http://typewith.me/]]
{{center{<html><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/kJ-pC37uwD8&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/kJ-pC37uwD8&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_US&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></html>}}}<data>{"mediaurl":"http://blogoscoped.com/files/etherpad-large.png"}</data>
Kilde:[[Better that Google docs|http://chris.pirillo.com/better-than-google-docs-etherpad-alternatives/]]
I have been using TypeWith.me constantly since it became available. Having to collaborate with others on a document in real-time isn’t always easy to do. However, using TypeWith.Me is completely simple. The service can handle 16 people at a time, all editing and working together to create an amazing document.
If this looks like EtherPad… it’s not. It IS based on EtherPad’s open-source code, which has been released by Google. A lot of us liked the way EtherPad worked, even if we didn’t like the name. Since EtherPad may now disappear at any given time, Jake and I decided to work together to create TypeWith.Me. We believe we have come up with the perfect solution.
I KNOW many of you may complain and whine, and claim that Google Wave is better or easier. You are wrong, my friends. Google Wave requires you to register, and it’s not as simple for everyone to use. When you have people from all levels of computing needing to work together, TypeWith.Me provides the perfect solution.
If you take a look at a document, you’ll notice different colors in the text. Those represent the different authors who are working on the document at any given time. TypeWith.Me also gives you constant auto-saves, so that you can restore anytime you need to.
You can use lists, bolding, underlining, and more – just as you can with other popular document collaboration software. This one, though, is just easy to use. It’s a clean interface, and it’s not going to beg you to donate or register!
TypeWith.Me is perfect for office collaboration, or for classmates in a school or college setting!
/%
|Name|ScrollBox|
|Source|http://www.TiddlyTools.com/#ScrollBox|
|Version|1.0.0|
|Author|Eric Shulman - ELS Design Studios|
|License|http://www.TiddlyTools.com/#LegalStatements <br>and [[Creative Commons Attribution-ShareAlike 2.5 License|http://creativecommons.org/licenses/by-sa/2.5/]]|
|~CoreVersion|2.1|
|Type|transcluded wiki syntax|
|Requires||
|Overrides||
|Description|display the contents of a tiddler in a fixed-height scrolling area|
%//%
Usage: <<tiddler ScrollBox with: TiddlerName height>>
%/@@display:block;height:$2;overflow:auto;<<tiddler $1>>@@@@display:block;text-align:right;^^rul ned for at se mere...^^@@
<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<tiddler TiddlyHomeSidebar>><<slider chkSliderOptionsPanel OptionsPanel "options »" "Change TiddlyWiki advanced options">>/%
!toggleReadonly
<html><nowiki><a class='button nowrap' title="enable/disable editing of this document" onclick="
if (window.readOnly) {
this.innerHTML=this.savedHTML;
this.savedHTML=null;
} else {
var chk='<input type=\x22checkbox\x22 checked style=\x22margin:0;padding:0;\x22>';
this.savedHTML=this.innerHTML;
this.innerHTML=chk+this.innerHTML;
}
window.readOnly=!window.readOnly;
config.macros.option.propagateOption('chkHttpReadOnly','checked',window.readOnly,'input');
config.macros.option.propagateOption('chkSinglePageMode','checked',window.readOnly,'input');
window.showBackstage=!window.readOnly; if(showBackstage && !backstage.area) backstage.init();
backstage.button.style.display=showBackstage?'block':'none'; backstage.hide();
story.switchTheme(config.options.txtTheme); store.notifyAll(); story.refreshAllTiddlers(true);
return false;
"><!--TRANSLATE-->$1</a></html><<tiddler {{
var e=place.lastChild.getElementsByTagName('a')[0];
if (!window.readOnly && e.innerHTML.indexOf('checkbox')==-1) {
var chk='<input type=\x22checkbox\x22 checked style=\x22margin:0;padding:0;\x22>';
e.savedHTML=e.innerHTML;
e.innerHTML=chk+e.innerHTML;
}
'';}}>>
!end %/
<<slider chkSliderSidebarTabs SideBarTabs##tabset 'indeks »' 'se lister over tiddlere'>>/%
!tabset
<<tabs txtMainTab "Tidslinie" "Tidslinie" TabTimeline "Alle" "Alle tiddlere" TabAll "Tags" "Alle tags" TabTags "Flere" "Flere lister" TabMore>>
!end %/
|widetable|k
| <<tiddler SideHoved##logo with: {{store.getTiddlerText("LogoBillede")}}>> |<<tiddler SideHoved##titel>>|
|~|<<tiddler SideHoved##adressetlf>>|
|~|~~<<tiddler SideHoved##email with:{{store.getTiddlerText("LogoEmail")}}>>~~|
/%
!logo
{{borderright{
[img(100px+,auto)[$1][$1]]}}}
!end logo
!titel
{{big{''<<tiddler [[LogoTitel]]>>''}}}
!end titel
!adressetlf
{{span{
<<tiddler LogoAdresse>>
}}}
!end adressetlf
!email
e-mail: [[$1|mailto:$1]]
!end email
%/
| Karakter » | 12 | 10| 7 | 4 | 02|h
|@@Redegørelse@@<br> Uddrage etiske, filosofiske, religiøse elementer|>| Klar, fokuseret med bredde og dybde |Omfatter væsentlige problemfelter, men prioriterer enten bredde eller dybde|>| Tilstrækkelig redegørelse, der savner fylde |
|@@Analyse@@<br> Anvende fagligt stof|>| Fagligt overblik og indsigt, der bidrager til fortolkning |Godt fagligt kendskab ved indkredsning af problemfelter|>| Usikker, men tilstrækkelig kendskab med vigende tilknytning til problemfelt |
|@@Perspektivering@@<br> Uddyber problemstillingen med egne erfaringer fra livet, samfundet og alternative holdninger|>| Tydelig kobling mellem egne erfaringer og fagligt stof. Velargumenteret |Nogen kobling mellem egne erfaringer og fagligt stof. Velargumenteret|>| Formulerer få udsagn, der etablerer forbindelse mellem egne erfaringer og fagligt stof. Kun delvist belæg for stillingstagen |
{{floatright{<<tiddler ToggleRightSidebar>>}}}{{floatright{<<tiddler SideBarOptions##toggleReadonly with:edit>>}}}
[[StyleSheetShortcuts]]
[[PureCSS3FrameBoxes]]
[[ZekTon]]
[[HeaderBox]]
/*{{{*/
body {
font-family:zekton, arial,helvetica, sans; margin:0; padding:0;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAYCAYAAACMcW/9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAALvSURBVEiJ1ZexbuJAFEWvZ+wIJUi2hJtYkaVUSROlTYFNnfR0IPED+YEUYfMN+QDooUkPBbaLfAHUSWEhZJQgkIkyeN426whW0cJib7FXeqXtpzNv3r1WiIgAYLVaIYoiPD8/4/b2FoeHh9B1HYwxKIqCbSIiSCkxm80QxzEeHx9xdXUF0zShqurW57dJTT8ihMD7+zu63S4452g2m7BtG4VCYedGPz4+8Pr6iru7O3S7XZyfn0PXdXDOd3rH1kaTJMFisUAYhvB9H47j4OLiAicnJzg4ONi50c/PT+i6jnK5DN/3EYYhSqUSNE3LTlVKSXEc02g0onq9TrZtU6/Xo8lkQkIIklLuXEIImkwm1Ov1yLZtqtfrNBqNKI5jklJSFrF1moPBAK7rwrIsFIvFryPbtTjnKBaLsCwLrutiMBggDEMsFgskSZIJKBNCYDqdot1uAwAajQZM04SmaX89V4qiQNM0mKaJRqMBAGi325hOpxBC4Ne9/WsREdifaO6jf0E1SRKwvGimyptqupFYnjRTbaNKRDtXeoe4lPLHy8sLms0mTk9PcXR0lLnR9HIxxnB8fIynpye8vb3h8vIShUIBUkqsVqutJYTAcrlEGIZQfd9HuVzOjeZ3VNO9en19jdlstpeJqEmSoFqtwjCMTLP5u9JZNQwD1WoVnufh4eFhb1tmuXS1o7JAUDnn6HQ6ODs7g2EYufgysJkfOp0OOOe4v7/fOz+ojuPA8zyEYfi1mvJIO+uOFwQBXNfNlB/Q7/fJtm2q1Wo0HA5z8eU0PwyHQ6rVamTbNvX7/Uz5gVmWhUql8kU1D19ep+l5HiqVSub8wEql0oaDRFGU2ZeFEIiiaMPx0ri3b35g6a7Li+o2mvuIcw6maRryopo3zVSKooCtO8h3VPfx5TxppmLpDKxTbbVaGI/HmM/niOMYy+Vya8VxjPl8jvF4jFarlRvNVCqw6cuO4yAIAtzc3Ozty0EQwHGcXPODQvR//C7/BHzIoQRk9BvbAAAAAElFTkSuQmCC);
)}
/* In this selector we specify the width, height, borders, position, background color, color and shadow's dimensions for a tiddler */
.tiddler{
width:98.8%;
padding:0em 1em 0em;
margin: 1em 17em 0 0;
min-height: 200px;
display: inline-block;
background:#fff;
background: -webkit-gradient(linear, 0% 20%, 0% 1000%, from(#fff), to(#fff), color-stop(.1,#f3f3f3));
background: -moz-linear-gradient(0% 0%, #fff, #f3f3f3 10%, #fff);
border: 1px solid #ccc;
-webkit-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
-moz-box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.1) inset;
-webkit-border-bottom-right-radius: 6px 50px;
-moz-border-radius-bottomright: 6px 50px;
border-bottom-right-radius:6px 50px;
}
/* On this pseudo class we specify the design that goes prior the tiddler class, in this case it's the shadow placed at the bottom of this tiddler, here's where we determine the measures, rotation and skew of the shadow itself */
.tiddler:before{
content: '';
width: 50px;
height: 100px;
position:absolute;
bottom:0; right:0;
-webkit-box-shadow: 20px 20px 10px rgba(0, 0, 0, 0.1);
-moz-box-shadow: 20px 20px 15px rgba(0, 0, 0, 0.1);
box-shadow: 20px 20px 15px rgba(0, 0, 0, 0.1);
z-index:-1;
-webkit-transform: translate(-35px,-40px)
skew(0deg,30deg)
rotate(-25deg);
-moz-transform: translate(-35px,-40px)
skew(0deg,32deg)
rotate(-25deg);
-o-transform: translate(-35px,-40px)
skew(0deg,32deg)
rotate(-25deg);
}
/* On this pseudo class we specify the design that goes prior the tiddler class, in this case it's the shadow placed on top of the box, here's where we determine the measures, rotation and the skew of the shadow itself*/
.tiddler:after{
content: '';
width: 100px;
height: 100px;
top:0; left:0;
position:absolute;
display: inline-block;
z-index:-1;
-webkit-box-shadow: -10px -10px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: -10px -10px 15px rgba(0, 0, 0, 0.2);
box-shadow: -10px -10px 15px rgba(0, 0, 0, 0.2);
-webkit-transform: rotate(2deg)
translate(20px,25px)
skew(20deg);
-moz-transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
-o-transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
transform: rotate(7deg)
translate(20px,25px)
skew(20deg);
}
/*}}}*/
/***
|Name|StyleSheetShortcuts|
|Source|http://www.TiddlyTools.com/#StyleSheetShortcuts|
|Version||
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|CSS|
|Description|'convenience' classes for common formatting, alignment, boxes, tables, etc.|
These 'style tweaks' can be easily included in other stylesheet tiddler so they can share a baseline look-and-feel that can then be customized to create a wide variety of 'flavors'.
***/
/*{{{*/
/* text alignments */
.left
{ display:block;text-align:left; }
.center
{ display:block;text-align:center; }
.center table
{ margin:auto !important; }
.right
{ display:block;text-align:right; }
.justify
{ display:block;text-align:justify; }
.indent
{ display:block;margin:0;padding:0;border:0;margin-left:2em; }
.floatleft
{ float:left; }
.floatright
{ float:right; }
.valignTop, .valignTop table, .valignTop tbody, .valignTop th, .valignTop tr, .valignTop td
{ vertical-align:top; }
.valignBottom, .valignBottom table, .valignBottom tbody, .valignBottom th, .valignBottom tr, .valignBottom td
{ vertical-align:bottom; }
.clear
{ clear:both; }
.wrap
{ white-space:normal; }
.nowrap
{ white-space:nowrap; }
.hidden
{ display:none; }
.show
{ display:inline !important; }
.span
{ display:span; }
.block
{ display:block; }
.relative
{ position:relative; }
.absolute
{ position:absolute; }
/* font sizes */
.big
{ font-size:14pt;line-height:120% }
.medium
{ font-size:12pt;line-height:120% }
.normal
{ font-size:9pt;line-height:120% }
.small
{ font-size:8pt;line-height:120% }
.fine
{ font-size:7pt;line-height:120% }
.tiny
{ font-size:6pt;line-height:120% }
.larger
{ font-size:120%; }
.smaller
{ font-size:80%; }
/* font styles */
.bold
{ font-weight:bold; }
.italic
{ font-style:italic; }
.underline
{ text-decoration:underline; }
/* plain list items (no bullets or indent) */
.nobullets li { list-style-type: none; margin-left:-2em; }
/* vertical tabsets - courtesy of Tobias Beer */
.vTabs .tabset {float:left;display:block;padding:0px;margin-top:.5em;min-width:20%;}
.vTabs .tabset .tab {display:block;text-align:right;padding:2px 3px 2px 7px; margin:0 1px 1px 0;}
.vTabs .tabContents {margin-left:20%;max-width:80%;padding:5px;}
.vTabs .tabContents .tabContents {border:none; background:transparent;}
/* multi-column tiddler content (not supported in Internet Explorer) */
.twocolumns { display:block;
-moz-column-count:2; -moz-column-gap:1em; -moz-column-width:50%; /* FireFox */
-webkit-column-count:2; -webkit-column-gap:1em; -webkit-column-width:50%; /* Safari */
column-count:2; column-gap:1em; column-width:50%; /* Opera */
}
.threecolumns { display:block;
-moz-column-count:3; -moz-column-gap:1em; -moz-column-width:33%; /* FireFox */
-webkit-column-count:3; -webkit-column-gap:1em; -webkit-column-width:33%; /* Safari */
column-count:3; column-gap:1em; column-width:33%; /* Opera */
}
.fourcolumns { display:block;
-moz-column-count:4; -moz-column-gap:1em; -moz-column-width:25%; /* FireFox */
-webkit-column-count:4; -webkit-column-gap:1em; -webkit-column-width:25%; /* Safari */
column-count:4; column-gap:1em; column-width:25%; /* Opera */
}
/* page breaks */
.breakbefore { page-break-before:always; }
.breakafter { page-break-before:always; }
/* show/hide browser-specific content for InternetExplorer vs. non-IE ("moz") browsers */
*[class="ieOnly"]
{ display:none; } /* hide in moz (uses CSS selector) */
* html .mozOnly, *:first-child+html .mozOnly
{ display: none; } /* hide in IE (uses IE6/IE7 CSS hacks) */
/* borderless tables */
.borderless, .borderless table, .borderless td, .borderless tr, .borderless th, .borderless tbody
{ border:0 !important; margin:0 !important; padding:0 !important; }
.widetable, .widetable table
{ width:100%; }
/* thumbnail images (fixed-sized scaled images) */
.thumbnail img { height:5em !important; }
/* stretchable images (auto-size to fit tiddler) */
.stretch img { width:95%; }
/* grouped content */
.outline
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; }
.menubox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#fff; color:#000; }
.menubox .button, .menubox .tiddlyLinkExisting, .menubox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox
{ display:block; padding:1em; -moz-border-radius:1em;-webkit-border-radius:1em; border:1px solid; background:#ffe; color:#000; }
.groupbox a, .groupbox .button, .groupbox .tiddlyLinkExisting, .groupbox .tiddlyLinkNonExisting
{ color:#009 !important; }
.groupbox code
{ color:#333 !important; }
.borderleft
{ margin:0;padding:0;border:0;margin-left:1em; border-left:1px dotted; padding-left:.5em; }
.borderright
{ margin:0;padding:0;border:0;margin-right:1em; border-right:1px dotted; padding-right:.5em; }
.borderbottom
{ margin:0;padding:1px 0;border:0;border-bottom:1px dotted; margin-bottom:1px; padding-bottom:1px; }
.bordertop
{ margin:0;padding:0;border:0;border-top:1px dotted; margin-top:1px; padding-top:1px; }
/* scrolled content */
.scrollbars { overflow:auto; }
.height10em { height:10em; }
.height15em { height:15em; }
.height20em { height:20em; }
.height25em { height:25em; }
.height30em { height:30em; }
.height35em { height:35em; }
.height40em { height:40em; }
/* compact form */
.smallform
{ white-space:nowrap; }
.smallform input, .smallform textarea, .smallform button, .smallform checkbox, .smallform radio, .smallform select
{ font-size:8pt; }
/* stretchable edit fields and textareas (auto-size to fit tiddler) */
.stretch input { width:99%; }
.stretch textarea { width:99%; }
/* compact input fields (limited to a few characters for entering percentages and other small values) */
.onechar input { width:1em; }
.twochar input { width:2em; }
.threechar input { width:3em; }
.fourchar input { width:4em; }
.fivechar input { width:5em; }
/* text colors */
.white { color:#fff !important }
.gray { color:#999 !important }
.black { color:#000 !important }
.red { color:#f66 !important }
.green { color:#0c0 !important }
.blue { color:#99f !important }
/* rollover highlighting */
.mouseover
{color:[[ColorPalette::TertiaryLight]] !important;}
.mouseover a
{color:[[ColorPalette::TertiaryLight]] !important;}
.selected .mouseover
{color:[[ColorPalette::Foreground]] !important;}
.selected .mouseover .button, .selected .mouseover a
{color:[[ColorPalette::PrimaryDark]] !important;}
/* rollover zoom text */
.zoomover
{ font-size:80% !important; }
.selected .zoomover
{ font-size:100% !important; }
/* [[ColorPalette]] text colors */
.Background { color:[[ColorPalette::Background]]; }
.Foreground { color:[[ColorPalette::Foreground]]; }
.PrimaryPale { color:[[ColorPalette::PrimaryPale]]; }
.PrimaryLight { color:[[ColorPalette::PrimaryLight]]; }
.PrimaryMid { color:[[ColorPalette::PrimaryMid]]; }
.PrimaryDark { color:[[ColorPalette::PrimaryDark]]; }
.SecondaryPale { color:[[ColorPalette::SecondaryPale]]; }
.SecondaryLight { color:[[ColorPalette::SecondaryLight]];}
.SecondaryMid { color:[[ColorPalette::SecondaryMid]]; }
.SecondaryDark { color:[[ColorPalette::SecondaryDark]]; }
.TertiaryPale { color:[[ColorPalette::TertiaryPale]]; }
.TertiaryLight { color:[[ColorPalette::TertiaryLight]]; }
.TertiaryMid { color:[[ColorPalette::TertiaryMid]]; }
.TertiaryDark { color:[[ColorPalette::TertiaryDark]]; }
.Error { color:[[ColorPalette::Error]]; }
/* [[ColorPalette]] background colors */
.BGBackground { background-color:[[ColorPalette::Background]]; }
.BGForeground { background-color:[[ColorPalette::Foreground]]; }
.BGPrimaryPale { background-color:[[ColorPalette::PrimaryPale]]; }
.BGPrimaryLight { background-color:[[ColorPalette::PrimaryLight]]; }
.BGPrimaryMid { background-color:[[ColorPalette::PrimaryMid]]; }
.BGPrimaryDark { background-color:[[ColorPalette::PrimaryDark]]; }
.BGSecondaryPale { background-color:[[ColorPalette::SecondaryPale]]; }
.BGSecondaryLight { background-color:[[ColorPalette::SecondaryLight]]; }
.BGSecondaryMid { background-color:[[ColorPalette::SecondaryMid]]; }
.BGSecondaryDark { background-color:[[ColorPalette::SecondaryDark]]; }
.BGTertiaryPale { background-color:[[ColorPalette::TertiaryPale]]; }
.BGTertiaryLight { background-color:[[ColorPalette::TertiaryLight]]; }
.BGTertiaryMid { background-color:[[ColorPalette::TertiaryMid]]; }
.BGTertiaryDark { background-color:[[ColorPalette::TertiaryDark]]; }
.BGError { background-color:[[ColorPalette::Error]]; }
/*}}}*/
/***
|Name|TableOfContentsPlugin|
|Source|http://www.TiddlyTools.com/#TableOfContentsPlugin|
|Documentation|http://www.TiddlyTools.com/#TableOfContentsPluginInfo|
|Version|2.4.3|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|replace the standard tabbed contents list with a scrolling listbox|
When there are many tiddlers in a document, the standard 'tabbed list of tiddlers' in the right-hand sidebar can become very long, occupying a lot of page space and requiring a lot scrolling in order to locate and select a tiddler. The TableOfContentsPlugin addresses this problem by replacing the standard tabbed list display with a single listbox/droplist control that uses a very small amount of page space, regardless of the number of tiddlers in the document.
!!!!!Documentation
>see [[TableOfContentsPluginInfo]]
!!!!!Configuration
<<option chkTOCShow>> display table of contents listbox
<<option chkTOCIncludeHidden>> include tiddlers tagged with <<tag excludeLists>> in listbox
listbox shows <<option txtTOCListSize>> lines, sorted by <<option txtTOCSortBy>>
<<<
!!!!!Code
***/
//{{{
version.extensions.TableOfContentsPlugin= {major: 2, minor: 4, revision: 3, date: new Date(2008,4,9)};
//}}}
// // 1.2.x compatibility
//{{{
if (!window.story) window.story=window;
if (!store.getTiddler) store.getTiddler=function(title){return store.tiddlers[title]}
if (!store.addTiddler) store.addTiddler=function(tiddler){store.tiddlers[tiddler.title]=tiddler}
if (!store.deleteTiddler) store.deleteTiddler=function(title){delete store.tiddlers[title]}
//}}}
//{{{
// define defaults for cookie-based option values
if (config.options.txtTOCSortBy==undefined) config.options.txtTOCSortBy="modified";
if (config.options.txtTOCListSize==undefined) config.options.txtTOCListSize=19;
if (config.options.chkTOCShow==undefined) config.options.chkTOCShow=true;
if (config.options.chkTOCIncludeHidden==undefined) config.options.chkTOCIncludeHidden=false;
// define macro "tableOfContents" to render controls
config.macros.tableOfContents = { label: "contents" };
config.macros.tableOfContents.cmdMax=8; // index of maximum command item
config.macros.tableOfContents.css = '\
.TOC { padding:0.5em 1em 0.5em 1em; }\
.TOC a { padding:0em 0.25em 0em 0.25em; color:inherit; }\
.TOCList { width: 100%; font-size:8pt; margin:0em; }\
';
config.macros.tableOfContents.html = '\
<div style="text-align:right">\
<span style="float:left">\
<a href="JavaScript:;" id="TOCMenu" style="padding: 0em;"\
onclick="onClickTOCMenu(this)" title="show/hide table of contents">%label%</a>\
</span>\
<a href="JavaScript:;" id="TOCSmaller" style="display:inline"\
onclick="resizeTOC(this)" title="reduce list size">–</a>\
<a href="JavaScript:;" id="TOCLarger"style="display:inline"\
onclick="resizeTOC(this)" title="increase list size">+</a>\
<a href="JavaScript:;" id="TOCMaximize"style="display:inline"\
onclick="resizeTOC(this)" title="maximize/restore list size">=</a>\
</div>\
';
config.macros.tableOfContents.handler = function(place,macroName,params) {
var parsedParams = new Array();
parsedParams['label']=this.label;
parsedParams['inline']=false;
while (params.length>0) {
if (params[0]=="label:none") parsedParams['label']="";
else if (params[0].substr(0,6)=="label:") parsedParams['label']=params[0].substr(6);
if (params[0].substr(0,7)=="prompt:") parsedParams['prompt']=params[0].substr(7);
if (params[0].substr(0,8)=="padding:")parsedParams['padding']=params[0].substr(8);
if (params[0].substr(0,7)=="margin:") parsedParams['margin']=params[0].substr(7);
if (params[0].substr(0,5)=="sort:") parsedParams['sortby']=params[0].substr(5);
if (params[0].substr(0,5)=="date:") parsedParams['date']=params[0].substr(5);
if ((params[0]=="size:auto")||(params[0]=="size:0")) parsedParams['autosize']=true;
else if (params[0] && (params[0].substr(0,5)=="size:")) parsedParams['requestedSize']=params[0].substr(5);
if (params[0].substr(0,6)=="width:") parsedParams['width']=params[0].substr(6);
if (params[0]=="hidelist") parsedParams['hidelist']=true;
if (params[0]=="inline") parsedParams['inline']=true;
if (params[0]=="-title") parsedParams['hide_title']=true;
if (params[0]=="-date") parsedParams['hide_date']=true;
if (params[0]=="-author") parsedParams['hide_author']=true;
if (params[0]=="-creator") parsedParams['hide_creator']=true;
if (params[0]=="-tags") parsedParams['hide_tags']=true;
if (params[0]=="-missing") parsedParams['hide_missing']=true;
if (params[0]=="-orphans") parsedParams['hide_orphans']=true;
if (params[0]=="-shadows") parsedParams['hide_shadows']=true;
params.shift();
}
setStylesheet(config.macros.tableOfContents.css,"tableOfContents");
var newTOC=createTiddlyElement(place,parsedParams['inline']?"span":"div",null,"TOC",null)
if (parsedParams['margin']) { newTOC.style.margin=parsedParams['margin']; }
if (parsedParams['padding']) { newTOC.style.padding=parsedParams['padding']; }
if (parsedParams['label']!="") newTOC.innerHTML=config.macros.tableOfContents.html.replace(/%label%/,parsedParams['label']);
var newTOCList=createTOCList(newTOC,parsedParams)
refreshTOCList(newTOCList);
store.addNotification(null,reloadTOCLists); // reload listbox after every tiddler change
}
// IE needs explicit global scoping for functions/vars called from browser events
window.onChangeTOCList=onChangeTOCList;
window.onClickTOCList=onClickTOCList;
window.onDblClickTOCList=onDblClickTOCList;
window.reloadTOCLists=reloadTOCLists;
window.refreshTOCList=refreshTOCList;
window.onClickTOCMenu=onClickTOCMenu;
window.resizeTOC=resizeTOC;
function createTOCList(place,params) {
var list = createTiddlyElement(place,"select",null,"TOCList",params['prompt'])
list.params=params;
list.onchange=onChangeTOCList;
list.onclick=onClickTOCList;
list.ondblclick=onDblClickTOCList;
list.onkeyup=onKeyUpTOCList;
list.style.display=config.options.chkTOCShow ? "block" : "none" ;
list.sortBy=config.options.txtTOCSortBy;
list.dateFormat="DD MMM YYYY";
list.requestedSize=config.options.txtTOCListSize;
list.expandall=false;
list.cmdMax=config.macros.tableOfContents.cmdMax;
if (params['hide_title']) list.cmdMax--;
if (params['hide_date']) list.cmdMax--;
if (params['hide_author']) list.cmdMax--;
if (params['hide_creator']) list.cmdMax--;
if (params['hide_tags']) list.cmdMax--;
if (params['hide_missing']) list.cmdMax--;
if (params['hide_orphans']) list.cmdMax--;
if (params['hide_shadows']) list.cmdMax--;
if (params['sortby']) { list.sortBy=params['sortby']; list.noSortCookie=true; }
if (params['date']) { list.dateFormat=params['date']; }
if (params['autosize']) { list.autosize=true; list.noSizeCookie=true; }
if (params['requestedSize']){ list.requestedSize=params['requestedSize']; list.noSizeCookie=true; }
if (params['width']) { list.style.width=params['width']; }
if (params['hidelist']) { list.style.display ="none" ; list.noShowCookie=true; }
if (params['expandall']) { list.expandall=true; }
return list;
}
function onChangeTOCList() {
var thisTiddler=this.options[this.selectedIndex].value;
if ((this.size==1)&&(thisTiddler!='')&&(this.selectedIndex>this.cmdMax))
story.displayTiddler(null,thisTiddler,1);
refreshTOCList(this);
return false;
}
function onClickTOCList(e) {
if (!e) var e = window.event;
if (this.size==1) return; // don't toggle display for droplist
if (e.shiftKey) { this.expandall=!this.expandall; refreshTOCList(this);}
e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation();
return true;
}
function onDblClickTOCList(e) {
if (!e) var e = window.event;
var thisTiddler=this.options[this.selectedIndex].value;
if ((thisTiddler!='')&&(this.selectedIndex>this.cmdMax))
story.displayTiddler(null,thisTiddler,1);
e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation();
return false;
}
function onKeyUpTOCList(e) {
if (!e) var e = window.event;
if (e.keyCode!=13) return true;
var thisTiddler=this.options[this.selectedIndex].value;
if ((thisTiddler!='')&&(this.selectedIndex>this.cmdMax))
story.displayTiddler(null,thisTiddler,1);
e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation();
return false;
}
function reloadTOCLists() {
var all=document.all? document.all.tags("select") : document.getElementsByTagName("select");
for (var i=0; i<all.length; i++)
if (all[i].className=="TOCList")
{ all[i].selectedIndex=-1; refreshTOCList(all[i]); }
}
function refreshTOCList(list) {
var selectedIndex = list.selectedIndex;
if (selectedIndex==-1) selectedIndex=0;
var sortBy = list.sortBy;
var showHidden = config.options.chkTOCIncludeHidden && !(config.options.chkHttpReadOnly && readOnly);
if (selectedIndex==0) sortBy=list.sortBy; // "nnn tiddlers" heading - use previous sort order
else if (selectedIndex<=list.cmdMax)sortBy=list.value;
else { if (list.options[list.selectedIndex].value=='') expandTOC(list); return; }
list.sortBy = sortBy; // save current sort order
if (!list.noSortCookie) { config.options.txtTOCSortBy=sortBy; saveOptionCookie("txtTOCSortBy"); }
// get the list of tiddlers
var tiddlers = [];
switch (sortBy) {
case "missing": tiddlers=store.getMissingLinks(); break;
case "tags": tiddlers=store.getTags(); break;
case "orphans": tiddlers=store.getOrphans(); break;
case "shadows": for (var t in config.shadowTiddlers) tiddlers.push(t); tiddlers.sort(); break;
default: tiddlers=store.getTiddlers(sortBy=='creator'?'modifier':sortBy,showHidden?'':'excludeLists'); break;
}
// clear current listbox contents
while (list.length > 0) { list.options[0] = null; }
list.saved=null;
// add heading and control items to list
var i=0;
var theHeading=tiddlers.length+' tiddlers:';
if (sortBy=='missing') theHeading=tiddlers.length+' missing tiddlers:';
if (sortBy=='orphans') theHeading=tiddlers.length+' orphaned tiddlers:';
if (sortBy=='tags') theHeading=tiddlers.length+' tags:';
if (sortBy=='shadows') theHeading=tiddlers.length+' shadow tiddlers:';
var indent=String.fromCharCode(160)+String.fromCharCode(160);
var sel=">";
list.options[i++]=new Option(theHeading,'');
function headerOpt(txt,val) { return new Option(((sortBy==val)?sel:indent)+' ['+txt+']',val); }
if (!list.params['hide_title']) list.options[i++]=headerOpt('by title','title');
if (!list.params['hide_date']) list.options[i++]=headerOpt('by date','modified');
if (!list.params['hide_author']) list.options[i++]=headerOpt('by author','modifier');
if (!list.params['hide_creator']) list.options[i++]=headerOpt('by creator','creator');
if (!list.params['hide_tags']) list.options[i++]=headerOpt('by tags','tags');
if (!list.params['hide_missing']) list.options[i++]=headerOpt('missing','missing');
if (!list.params['hide_orphans']) list.options[i++]=headerOpt('orphans','orphans');
if (!list.params['hide_shadows']) list.options[i++]=headerOpt('shadows','shadows');
// output the tiddler list
switch(sortBy) {
case "title":
for (var t = 0; t < tiddlers.length; t++)
list.options[i++] = new Option(tiddlers[t].title,tiddlers[t].title);
break;
case "modified":
case "modifier":
case "creator":
if (sortBy=="modified") tiddlers.reverse(); // show newest first
if (sortBy=="creator") { // sort by custom field with fallback value
tiddlers.sort(function (a,b) {
var v1=a.fields.creator||a.modifier;
var v2=b.fields.creator||b.modifier;
return (v1==v2)?0:(v1>v2?1:-1);
});
}
var lastSection = "";
for (var t = 0; t < tiddlers.length; t++){
var tiddler = tiddlers[t];
var theSection = "";
var m=tiddler.modified;
if (sortBy=="modified") theSection=m.getFullYear()+'.'+(m.getMonth()+1)+'.'+m.getDate();
if (sortBy=="modifier") theSection = tiddler.modifier;
if (sortBy=="creator") theSection=tiddler.fields['creator']||tiddler.modifier;
if (theSection != lastSection) {
lastSection = theSection;
if (sortBy=="modified") theSection = m.formatString(list.dateFormat);
list.options[i++] = new Option('+ '+theSection,"");
}
list.options[i++] = new Option(indent+indent+tiddler.title,tiddler.title);
}
expandTOC(list);
break;
case "tags":
// tagged tiddlers, by tag
var tagcount=0;
var lastTag = null;
for (var t = 0; t < tiddlers.length; t++) { // actually a list of tags, not tiddlers...
var theTag = tiddlers[t][0]; var tid=store.getTiddler(theTag);
if (tid && tid.isTagged('excludeLists')) continue; // skip excluded tags
var temp = store.getTaggedTiddlers(theTag);
var tagged=[]; for (var q=0; q<temp.length; q++) // hide excluded tiddlers
if (!temp[q].isTagged('excludeLists')) tagged.push(temp[q]);
if (tagged.length) { tagcount++;
list.options[i++]=new Option('+ '+theTag+" ("+tagged.length+")","");
for(var r=0; r<tagged.length; r++)
list.options[i++]=
new Option(indent+indent+tagged[r].title,tagged[r].title);
}
}
// count untagged tiddlers
var temp = store.getTiddlers("title");
var c=0; for (var r=0; r<temp.length;r++) if (!temp[r].tags.length) c++;
// create 'pseudo-tag' listing untagged tiddlers (if any)
if (c>0) {
list.options[i++] = new Option("+ untagged ("+c+")","");
for (var r=0; r<temp.length;r++) if (!temp[r].tags.length)
list.options[i++] = new
Option(indent+indent+temp[r].title,temp[r].title);
}
list.options[0].text=tagcount+' tags:';
expandTOC(list);
break;
case "missing": case "orphans": case "shadows":
for (var t = 0; t < tiddlers.length; t++)
list.options[i++] = new Option(tiddlers[t],tiddlers[t]);
break;
}
list.selectedIndex=selectedIndex; // select current control item
list.size = (list.autosize)?list.options.length:list.requestedSize;
}
// show/hide branch of TOCList based on current selection
function expandTOC(list) {
var selectedIndex = list.selectedIndex;
if (selectedIndex==-1) selectedIndex=0;
var sortBy = list.sortBy;
// don't collapse/expand list for alpha-sorted "flatlist" TOC contents
// or list control items
if ((sortBy=="title")||(sortBy=="missing")||(sortBy=="orphans")||(sortBy=="shadows")) return;
if ((selectedIndex>0)&&(selectedIndex<=list.cmdMax)) return;
// get current selected text/value and cache the
// complete list. Then clear the current list contents
var theText = list.options[selectedIndex].text;
var theValue = list.options[selectedIndex].value;
if (!list.saved) {
list.saved=new Array();
for (var i=0;i<list.length;i++) list.saved[i]=list.options[i];
}
while (list.length > 0) { list.options[0] = null; }
// put back heading items until item text matches current selected heading
var i=0;
for (var t=0; t<list.saved.length; t++) {
var opt=list.saved[t];
if (list.expandall||(opt.value=='')||(i<=list.cmdMax)) list.options[i++] = opt;
if (opt.text==theText) break;
}
selectedIndex=i-1; // this is the NEW index of the current selected heading
// put back items with value!='' until value==''
for ( t++; t<list.saved.length; t++) {
var opt=list.saved[t];
if (list.expandall||opt.value!='') list.options[i++] = opt;
if (opt.value=='') break;
}
// put back remaining items with value==''
for ( ; t<list.saved.length; t++) {
var opt=list.saved[t];
if (list.expandall||opt.value=='') list.options[i++] = opt;
}
list.selectedIndex = selectedIndex;
list.size = (list.autosize)?list.options.length:list.requestedSize;
}
// these functions process clicks on the 'control links' that are displayed above the listbox
function getTOCListFromButton(which) {
var list = null;
switch (which.id) {
case 'TOCMenu':
var theSiblings = which.parentNode.parentNode.parentNode.childNodes;
var thePlace=which.parentNode.parentNode.parentNode.parentNode.parentNode.id;
break;
case 'TOCSmaller': case 'TOCLarger': case 'TOCMaximize':
var theSiblings = which.parentNode.parentNode.childNodes;
var thePlace=which.parentNode.parentNode.parentNode.parentNode.id;
break;
}
for (var k=0; k<theSiblings.length; k++)
if (theSiblings[k].className=="TOCList") { list=theSiblings[k]; break; }
return list;
}
function onClickTOCMenu(which) {
var list=getTOCListFromButton(which); if (!list) return;
var opening = list.style.display=="none";
if(config.options.chkAnimate) anim.startAnimating(new Slider(list,opening,false,"none"));
else list.style.display = opening ? "block" : "none" ;
if (!list.noShowCookie) { config.options.chkTOCShow = opening; saveOptionCookie("chkTOCShow"); }
return(false);
}
function resizeTOC(which) {
var list=getTOCListFromButton(which); if (!list) return;
var size = list.size;
if (list.style.display=="none") // make sure list is visible
if(config.options.chkAnimate) anim.startAnimating(new Slider(list,true,false,"none"));
else list.style.display = "block" ;
switch (which.id) {
case 'TOCSmaller': // decrease current listbox size
if (list.autosize) { list.autosize=false; size=config.options.txtTOCListSize; }
if (size==1) break;
size -= 1; // shrink by one line
list.requestedSize = list.size = size;
break;
case 'TOCLarger': // increase current listbox size
if (list.autosize) { list.autosize=false; size=config.options.txtTOCListSize; }
if (size>=list.options.length) break;
size += 1; // grow by one line
list.requestedSize = list.size = size;
break;
case 'TOCMaximize': // toggle autosize
list.autosize = (list.size!=list.options.length);
list.size = (list.autosize)?list.options.length:list.requestedSize;
break;
}
if (!list.noSizeCookie && !list.autosize)
{ config.options.txtTOCListSize=size; saveOptionCookie("txtTOCListSize"); }
}
//}}}
/***
|''Name:''|TableSortingPlugin|
|''Description:''|Dynamically sort tables by clicking on column headers|
|''Author:''|Saq Imtiaz ( lewcid@gmail.com )|
|''Source:''|http://tw.lewcid.org/#TableSortingPlugin|
|''Code Repository:''|http://tw.lewcid.org/svn/plugins|
|''Version:''|2.02|
|''Date:''|25-01-2008|
|''License:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]]|
|''~CoreVersion:''|2.2.3|
!!Usage:
* Make sure your table has a header row
** {{{|Name|Phone Number|Address|h}}}<br> Note the /h/ that denote a header row
* Give the table a class of 'sortable'
** {{{
|sortable|k
|Name|Phone Number|Address|h
}}}<br>Note the /k/ that denotes a class name being assigned to the table.
* To disallow sorting by a column, place {{{<<nosort>>}}} in it's header
* To automatically sort a table by a column, place {{{<<autosort>>}}} in the header for that column
** Or to sort automatically but in reverse order, use {{{<<autosort reverse>>}}}
!!Example:
|sortable|k
|Name |Salary |Extension |Performance |File Size |Start date |h
|ZBloggs, Fred |$12000.00 |1353 |+1.2 |74.2Kb |Aug 19, 2003 21:34:00 |
|ABloggs, Fred |$12000.00 |1353 |1.2 |3350b |09/18/2003 |
|CBloggs, Fred |$12000 |1353 |1.200 |55.2Kb |August 18, 2003 |
|DBloggs, Fred |$12000.00 |1353 |1.2 |2100b |07/18/2003 |
|Bloggs, Fred |$12000.00 |1353 |01.20 |6.156Mb |08/17/2003 05:43 |
|Turvey, Kevin |$191200.00 |2342 |-33 |1b |02/05/1979 |
|Mbogo, Arnold |$32010.12 |2755 |-21.673 |1.2Gb |09/08/1998 |
|Shakespeare, Bill |£122000.00|3211 |6 |33.22Gb |12/11/1961 |
|Shakespeare, Hamlet |£9000 |9005 |-8 |3Gb |01/01/2002 |
|Fitz, Marvin |€3300.30 |5554 |+5 |4Kb |05/22/1995 |
***/
// /%
//!BEGIN-PLUGIN-CODE
config.tableSorting = {
darrow: "\u2193",
uarrow: "\u2191",
getText : function (o) {
var p = o.cells[SORT_INDEX];
return p.innerText || p.textContent || '';
},
sortTable : function (o,rev) {
SORT_INDEX = o.getAttribute("index");
var c = config.tableSorting;
var T = findRelated(o.parentNode,"TABLE");
if(T.tBodies[0].rows.length<=1)
return;
var itm = "";
var i = 0;
while (itm == "" && i < T.tBodies[0].rows.length) {
itm = c.getText(T.tBodies[0].rows[i]).trim();
i++;
}
if (itm == "")
return;
var r = [];
var S = o.getElementsByTagName("span")[0];
c.fn = c.sortAlpha;
if(!isNaN(Date.parse(itm)))
c.fn = c.sortDate;
else if(itm.match(/^[$|£|€|\+|\-]{0,1}\d*\.{0,1}\d+$/))
c.fn = c.sortNumber;
else if(itm.match(/^\d*\.{0,1}\d+[K|M|G]{0,1}b$/))
c.fn = c.sortFile;
for(i=0; i<T.tBodies[0].rows.length; i++) {
r[i]=T.tBodies[0].rows[i];
}
r.sort(c.reSort);
if(S.firstChild.nodeValue==c.darrow || rev) {
r.reverse();
S.firstChild.nodeValue=c.uarrow;
}
else
S.firstChild.nodeValue=c.darrow;
var thead = T.getElementsByTagName('thead')[0];
var headers = thead.rows[thead.rows.length-1].cells;
for(var k=0; k<headers.length; k++) {
if(!hasClass(headers[k],"nosort"))
addClass(headers[k].getElementsByTagName("span")[0],"hidden");
}
removeClass(S,"hidden");
for(i=0; i<r.length; i++) {
T.tBodies[0].appendChild(r[i]);
c.stripe(r[i],i);
for(var j=0; j<r[i].cells.length;j++){
removeClass(r[i].cells[j],"sortedCol");
}
addClass(r[i].cells[SORT_INDEX],"sortedCol");
}
},
stripe : function (e,i){
var cl = ["oddRow","evenRow"];
i&1? cl.reverse() : cl;
removeClass(e,cl[1]);
addClass(e,cl[0]);
},
sortNumber : function(v) {
var x = parseFloat(this.getText(v).replace(/[^0-9.-]/g,''));
return isNaN(x)? 0: x;
},
sortDate : function(v) {
return Date.parse(this.getText(v));
},
sortAlpha : function(v) {
return this.getText(v).toLowerCase();
},
sortFile : function(v) {
var j, q = config.messages.sizeTemplates, s = this.getText(v);
for (var i=0; i<q.length; i++) {
if ((j = s.toLowerCase().indexOf(q[i].template.replace("%0\u00a0","").toLowerCase())) != -1)
return q[i].unit * s.substr(0,j);
}
return parseFloat(s);
},
reSort : function(a,b){
var c = config.tableSorting;
var aa = c.fn(a);
var bb = c.fn(b);
return ((aa==bb)? 0 : ((aa<bb)? -1:1));
}
};
Story.prototype.tSort_refreshTiddler = Story.prototype.refreshTiddler;
Story.prototype.refreshTiddler = function(title,template,force,customFields,defaultText){
var elem = this.tSort_refreshTiddler.apply(this,arguments);
if(elem){
var tables = elem.getElementsByTagName("TABLE");
var c = config.tableSorting;
for(var i=0; i<tables.length; i++){
if(hasClass(tables[i],"sortable")){
var x = null, rev, table = tables[i], thead = table.getElementsByTagName('thead')[0], headers = thead.rows[thead.rows.length-1].cells;
for (var j=0; j<headers.length; j++){
var h = headers[j];
if (hasClass(h,"nosort"))
continue;
h.setAttribute("index",j);
h.onclick = function(){c.sortTable(this); return false;};
h.ondblclick = stopEvent;
if(h.getElementsByTagName("span").length == 0)
createTiddlyElement(h,"span",null,"hidden",c.uarrow);
if(!x && hasClass(h,"autosort")) {
x = j;
rev = hasClass(h,"reverse");
}
}
if(x)
c.sortTable(headers[x],rev);
}
}
}
return elem;
};
setStylesheet("table.sortable span.hidden {visibility:hidden;}\n"+
"table.sortable thead {cursor:pointer;}\n"+
"table.sortable .nosort {cursor:default;}\n"+
"table.sortable td.sortedCol {background:#ffc;}","TableSortingPluginStyles");
function stopEvent(e){
var ev = e? e : window.event;
ev.cancelBubble = true;
if (ev.stopPropagation) ev.stopPropagation();
return false;
}
config.macros.nosort={
handler : function(place){
addClass(place,"nosort");
}
};
config.macros.autosort={
handler : function(place,m,p,w,pS){
addClass(place,"autosort"+" "+pS);
}
};
//!END-PLUGIN-CODE
// %/
<<tagCloud excludeLists noCloud noTitle opstart reference script systemTheme systemXConfig systemConfig ProxyService Action Krimi Thriller
anmeldelse attachment Dansk Emner excludeMissing fag Fag framedLinks Genre iframe instruktør Lærere2Csv media mål Note [[Opgave 1]] [[Opgave 10]] [[Opgave 11]] [[Opgave 12]] [[Opgave 13]] [[Opgave 14]] [[Opgave 15]] [[Opgave 16]] [[Opgave 17]] [[Opgave 18]] [[Opgave 19]] [[Opgave 2]] [[Opgave 3]] [[Opgave 4]] [[Opgave 5]] [[Opgave 6]] [[Opgave 7]] [[Opgave 8]] [[Opgave 9]] settings Skuespiller tegning TM typeWithMe Udtalelse Værktøj >>
----
@@padding-left:10px;[[::sortér efter tags::|TiddlereEfterTags]]@@
/***
|''Plugin'' |TagCloudMacro |
|''Author'' |Clint Checketts |
|''Source URL'' |http://tiddlystyles.com |
!Usage
{{{<<tagCloud>>}}}
<<tagCloud>>
!Code
***/
//{{{
setStylesheet(".tagCloud span{height: 1.8em;margin: 3px;}.tagCloud1{font-size: 10px;}.tagCloud2{font-size:12px;}.tagCloud3{font-size: 14px;}.tagCloud4{font-size: 16px;font-weight: bold;}.tagCloud5{font-size: 20px;font-weight: bold;}","tagCloudsStyles");
version.extensions.tagCloud={major: 1, minor: 0 , revision: 0, date: new Date(2006,2,04)};
//Created by Clint Checketts, contributions by Jonny Leroy and Eric Shulman
config.macros.tagCloud={
noTags:"There are no tags.",
tooltip:"%1 tiddlers tagged with '%0'",
exclude:['excludeLists','noCloud'],
handler:function(place,macroName,params){
var el,max,p,segm,t,tg,tags,wrap;
wrap=createTiddlyElement(place,"div",null,"tagCloud",null);
tags=store.getTags();
for(t=0;t<tags.length;t++){
tiddler=store.fetchTiddler(tags[t][0]);
if(tiddler&&tiddler.tags.containsAny(this.exclude))tags[t][0]="";
for(p=0;p<params.length;p++)if(tags[t][0]==params[p])tags[t][0]="";
}
if(tags.length==0)createTiddlyElement(wrap,"span",null,null,this.noTags);
max=0;//Find max num of tags
for(var t=0;t<tags.length;t++)if(tags[t][0].length>0){if(tags[t][1]>max)max=tags[t][1];}
segm=max/4;//divide max into 4 tagCloud sizes
for(t=0;t<tags.length;t++)if(tags[t][0].length>0){
el=createTiddlyElement(wrap,"span",null,null,null);
wrap.appendChild(document.createTextNode(" "));
tg=createTiddlyButton(el,tags[t][0],this.tooltip.format(tags[t]),onClickTag,"tagCloudtag tagCloud"+(Math.round(tags[t][1]/segm)+1));
tg.setAttribute("tag",tags[t][0]);
tg.setAttribute("showOpenTag",true);
}
}
}
//}}}
Udtalelser=Udtalelse
Hent alle udtalelser fra valgte wikis
----
Projekt=Projekt
Hent projektudtalelser fra valgte wikis
----
K.gruppe=K-grp
Hent kontaktgruppeudtalelser fra valgte wikis
----
/%<<forEachTiddler
where
'tiddler.tags && tiddler.tags.length'
sortBy
'getSortedTagsText(tiddler)+"###"+tiddler.title'
script
'function getSortedTagsText(tiddler) {var tags = tiddler.tags; if (!tags) return ""; tags.sort(); var result = ""; for (var i = 0; i < tags.length;i++) {result += tags[i]+ " ";} return result;} function getGroupTitle(tiddler, context) {if (!context.lastGroup || context.lastGroup != getSortedTagsText(tiddler)) { context.lastGroup = getSortedTagsText(tiddler); return "* {{{"+(context.lastGroup?context.lastGroup:"no tags")+"}}}\n";} else return "";} '
write
'getGroupTitle(tiddler, context)+"** [[" + tiddler.title+"]]\n"'
>>%/
/***
|Name|TaggedTemplateTweak|
|Source|http://www.TiddlyTools.com/#TaggedTemplateTweak|
|Documentation|http://www.TiddlyTools.com/#TaggedTemplateTweakInfo|
|Version|1.6.1|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|plugin|
|Description|use alternative ViewTemplate/EditTemplate for specific tiddlers|
This plugin extends the core function, story.chooseTemplateForTiddler(), so that any given tiddler can be viewed and/or edited using alternatives to the standard tiddler templates.
!!!!!Documentation
>see [[TaggedTemplateTweakInfo]]
!!!!!Revisions
<<<
2009.09.02 [1.6.1] apply field-based template (if any) *before* tag-based template
| please see [[TaggedTemplateTweakInfo]] for previous revision details |
2007.06.11 [1.0.0] initial release
<<<
!!!!!Code
***/
//{{{
version.extensions.TaggedTemplateTweak= {major: 1, minor: 6, revision: 1, date: new Date(2009,9,2)};
if (!config.options.txtTemplateTweakFieldname)
config.options.txtTemplateTweakFieldname='template';
Story.prototype.taggedTemplate_chooseTemplateForTiddler = Story.prototype.chooseTemplateForTiddler
Story.prototype.chooseTemplateForTiddler = function(title,template)
{
// get core template and split into theme and template name
var coreTemplate=this.taggedTemplate_chooseTemplateForTiddler.apply(this,arguments);
var theme=""; var template=coreTemplate;
var parts=template.split(config.textPrimitives.sectionSeparator);
if (parts[1]) { theme=parts[0]; template=parts[1]; }
else theme=config.options.txtTheme||""; // if theme is not specified
theme+=config.textPrimitives.sectionSeparator;
// look for template using title as prefix
if (!store.getTaggedTiddlers(title).length) { // if tiddler is not a tag
if (store.getTiddlerText(theme+title+template))
{ return theme+title+template; } // theme##TitleTemplate
if (store.getTiddlerText(title+template))
{ return title+template; } // TitleTemplate
}
// look for templates using custom field value as prefix
var v=store.getValue(title,config.options.txtTemplateTweakFieldname);
if (store.getTiddlerText(theme+v+template))
{ return theme+v+template; } // theme##valueTemplate
if (store.getTiddlerText(v+template))
{ return v+template; } // valueTemplate
// look for template using tags as prefix
var tiddler=store.getTiddler(title);
if (!tiddler) return coreTemplate; // tiddler doesn't exist... use core result
for (i=0; i<tiddler.tags.length; i++) {
var t=tiddler.tags[i]+template; // add tag prefix to template
var c=t.substr(0,1).toUpperCase()+t.substr(1); // capitalized for WikiWord title
if (store.getTiddlerText(theme+t)) { return theme+t; } // theme##tagTemplate
if (store.getTiddlerText(theme+c)) { return theme+c; } // theme##TagTemplate
if (store.getTiddlerText(t)) { return t; } // tagTemplate
if (store.getTiddlerText(c)) { return c; } // TagTemplate
}
// no match... use core result
return coreTemplate;
}
//}}}
/***
|''Name:''|~TaggerPlugin|
|''Version:''|1.0.1 (2006-06-01)|
|''Source:''|http://tw.lewcid.org//#TaggerPlugin|
|''Author:''|SaqImtiaz|
|''Description:''|Provides a drop down listing current tiddler tags, and allowing toggling of tags.|
|''Documentation:''|[[TaggerPluginDocumentation]]|
|''Source Code:''|[[TaggerPluginSource]]|
|''~TiddlyWiki:''|Version 2.0.8 or better|
|''Requires''|[[DeprecatedFunctionsPlugin]]|
|''Stylesheet Changes''|ViewTemplate|
|See Above|<div class='toolbar'><span style="padding-right:2.45em;" macro='tagger source:TagDB exclude:excludeLists'></span></div>|
***/
//{{{
config.tagger={
defaults:{
label: '*føj til overemne* ',
tooltip: 'Administrer tiddler tags',
taglist: 'true',
excludeTags: 'excludeLists',
notags: 'tiddleren har ingen tags',
aretags: 'nuværende tiddler tags:',
toggletext: 'tilføj tags:'
}
};
config.macros.tagger={};
config.macros.tagger.arrow = (document.all?"▼":"▾"); // the fat one is the only one that works in IE
config.macros.tagger.handler = function(place,macroName,params,wikifier,paramString,tiddler) {
var defaults = config.tagger.defaults;
var nAV = paramString.parseParams('tagman', null, true);
var label = ((nAV[0].label)&&(nAV[0].label[0])!='.')?nAV[0].label[0]+this.arrow: defaults.label+this.arrow;
var tooltip = ((nAV[0].tooltip)&&(nAV[0].tooltip[0])!='.')?nAV[0].tooltip[0]: defaults.tooltip;
var taglist = ((nAV[0].taglist)&&(nAV[0].taglist[0])!='.')?nAV[0].taglist[0]: defaults.taglist;
var exclude = ((nAV[0].exclude)&&(nAV[0].exclude[0])!='.')?(nAV[0].exclude[0]).readBracketedList(): defaults.excludeTags.readBracketedList();
if ((nAV[0].source)&&(nAV[0].source[0])!='.')var source = nAV[0].source[0];
if (source&&!store.getTiddler(source)) return false;
var onclick = function(e) {
if (!e) var e = window.event;
var popup = Popup.create(this);
var tagsarray = store.getTags();
var tags=new Array();
for (var i=0; i<tagsarray.length; i++){
tags.push(tagsarray[i][0]);}
if (source)
{var sourcetiddler=store.getTiddler(source);
tags=sourcetiddler.tags.sort();}
var currentTags = tiddler.tags.sort();
var createButtons=function(text,theTag,tooltipPrefix){
var sp = createTiddlyElement(createTiddlyElement(popup,"li"),"span",null,"tagger");
var theToggle = createTiddlyButton(sp,text,tooltipPrefix+" '"+theTag+"'",taggerOnToggle,"button","toggleButton");
theToggle.setAttribute("tiddler",tiddler.title);
theToggle.setAttribute("tag",theTag);
insertSpacer(sp);
if (window.createTagButton_orig_mptw)
createTagButton_orig_mptw(sp,theTag);
else
createTagButton(sp,theTag);
}
createTiddlyElement(popup,"li",null,"listTitle",(tiddler.tags.length == 0 ? defaults.notags : defaults.aretags));
for (var t=0; t<currentTags.length; t++){
createButtons("[x]",currentTags[t],"remove tag ");
}
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
if (taglist!='false')
{ createTiddlyElement(popup,"li",null,"listTitle",defaults.toggletext);
for (var i=0; i<tags.length; i++){
if (!tiddler.tags.contains(tags[i])&&!exclude.contains(tags[i]))
{createButtons("[ ]",tags[i],"add tag ");
}
}
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
}
var newTagButton = createTiddlyButton(createTiddlyElement(popup,"li"),("Create new tag"),null,taggerOnToggle);
newTagButton.setAttribute("tiddler",tiddler.title);
if (source) newTagButton.setAttribute("source",source);
Popup.show(popup,false);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return(false);
};
createTiddlyButton(place,label,tooltip,onclick,"button","taggerDrpBtn");
};
window.taggerOnToggle = function(e) {
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
var tiddler = store.getTiddler(title);
if (!tag)
{
var newtag=prompt("Skriv et nyt tag:","");
if (newtag!=''&&newtag!=null)
{
var tag=newtag;
if (this.getAttribute("source"))
{var sourcetiddler = store.getTiddler(this.getAttribute("source"));
sourcetiddler.tags.pushUnique(newtag);}
}
else
{return false;};
}
if (!tiddler || !tiddler.tags)
{store.saveTiddler(title,title,'',config.options.txtUserName,new Date(),tag);}
else
{if (tiddler.tags.find(tag)==null)
{tiddler.tags.push(tag)}
else if(!newtag)
{tiddler.tags.splice(tiddler.tags.find(tag),1)};
store.saveTiddler(tiddler.title,tiddler.title,tiddler.text,tiddler.modifier,tiddler.modified,tiddler.tags);};
story.refreshTiddler(title,null,true);
if(config.options.chkAutoSave)
saveChanges();
return false;
};
setStylesheet(
".tagger a.button {font-weight: bold;display:inline; padding:0px;}\n"+
".tagger #toggleButton {padding-left:2px; padding-right:2px; margin-right:1px; font-size:110%;}\n"+
"#nestedtagger {background:#2E5ADF; border: 1px solid #0331BF;}\n"+
".popup .listTitle {color:#000;}\n"+
"",
"TaggerStyles");
window.lewcidTiddlerSwapTag = function (tiddler, oldTag, newTag){
for (var i = 0; i < tiddler.tags.length; i++)
if (tiddler.tags[i] == oldTag) {
tiddler.tags[i] = newTag;
return true;}
return false;
}
window.lewcidRenameTag = function(e) {
var tag=this.getAttribute("tag");
var newtag=prompt("Rename tag '"+tag+"' to:",tag);
if ((newtag==tag)||(newtag==null)) {return false;}
if(store.tiddlerExists(newtag))
{if(confirm(config.messages.overwriteWarning.format([newtag.toString()])))
story.closeTiddler(newtag,false,false);
else
return null;}
tagged=store.getTaggedTiddlers(tag);
if (tagged.length!=0){
for (var j = 0; j < tagged.length; j++)
lewcidTiddlerSwapTag(tagged[j],tag,newtag);}
if (store.tiddlerExists(tag))
{store.saveTiddler(tag,newtag);}
if (document.getElementById("tiddler"+tag))
{var oldTagTiddler = document.getElementById(story.idPrefix + tag);
var before= story.positionTiddler(oldTagTiddler);
var place = document.getElementById(story.container);
story.closeTiddler(tag,false,false);
story.createTiddler(place,before,newtag,null);
story.saveTiddler(newtag);}
if(config.options.chkAutoSave)
saveChanges();
return false;
}
window.onClickTag=function(e)
{
if (!e) var e = window.event;
var theTarget = resolveTarget(e);
var nested = (!isNested(theTarget));
if ((Popup.stack.length > 1)&&(nested==true)) {Popup.removeFrom(1);}
else if(Popup.stack.length > 0 && nested==false) {Popup.removeFrom(0);};
var theId = (nested==false)? "popup" : "nestedtagger";
var popup = createTiddlyElement(document.body,"ol",theId,"popup",null);
Popup.stack.push({root: this, popup: popup});
var tag = this.getAttribute("tag");
var title = this.getAttribute("tiddler");
if(popup && tag)
{
var tagged = store.getTaggedTiddlers(tag);
var titles = [];
var li,r;
for(r=0;r<tagged.length;r++)
if(tagged[r].title != title)
titles.push(tagged[r].title);
var lingo = config.views.wikified.tag;
if(titles.length > 0)
{
var openAll = createTiddlyButton(createTiddlyElement(popup,"li"),lingo.openAllText.format([tag]),lingo.openAllTooltip,onClickTagOpenAll);
openAll.setAttribute("tag",tag);
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
for(r=0; r<titles.length; r++)
{
createTiddlyLink(createTiddlyElement(popup,"li"),titles[r],true);
}
}
else
createTiddlyText(createTiddlyElement(popup,"li",null,"disabled"),lingo.popupNone.format([tag]));
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
var h = createTiddlyLink(createTiddlyElement(popup,"li"),tag,false);
createTiddlyText(h,lingo.openTag.format([tag]));
createTiddlyElement(createTiddlyElement(popup,"li"),"hr");
var renameTagButton = createTiddlyButton(createTiddlyElement(popup,"li"),("Omdøb tag '"+tag+"'"),null,lewcidRenameTag);
renameTagButton.setAttribute("tag",tag)
}
Popup.show(popup,false);
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
return(false);
}
if (!window.isNested)
window.isNested = function(e) {
while (e != null) {
var contentWrapper = document.getElementById("contentWrapper");
if (contentWrapper == e) return true;
e = e.parentNode;
}
return false;
};
config.shadowTiddlers.TaggerPluginDocumentation="The documentation is available [[here.|http://tw.lewcid.org/#TaggerPluginDocumentation]]";
config.shadowTiddlers.TaggerPluginSource="The uncompressed source code is available [[here.|http://tw.lewcid.org/#TaggerPluginSource]]";
//}}}
/***
|Name:|TagglyTaggingPlugin|
|Description:|tagglyTagging macro is a replacement for the builtin tagging macro in your ViewTemplate|
|Version:|3.3.1 ($Rev: 6100 $)|
|Date:|$Date: 2008-07-27 01:42:07 +1000 (Sun, 27 Jul 2008) $|
|Source:|http://mptw.tiddlyspot.com/#TagglyTaggingPlugin|
|Author:|Simon Baird <simon.baird@gmail.com>|
|License:|http://mptw.tiddlyspot.com/#TheBSDLicense|
!Notes
See http://mptw.tiddlyspot.com/#TagglyTagging
***/
//{{{
merge(String.prototype,{
parseTagExpr: function(debug) {
if (this.trim() == "")
return "(true)";
var anyLogicOp = /(!|&&|\|\||\(|\))/g;
var singleLogicOp = /^(!|&&|\|\||\(|\))$/;
var spaced = this.
// because square brackets in templates are no good
// this means you can use [(With Spaces)] instead of [[With Spaces]]
replace(/\[\(/g," [[").
replace(/\)\]/g,"]] ").
// space things out so we can use readBracketedList. tricky eh?
replace(anyLogicOp," $1 ");
var expr = "";
var tokens = spaced.readBracketedList(false); // false means don't uniq the list. nice one JR!
for (var i=0;i<tokens.length;i++)
if (tokens[i].match(singleLogicOp))
expr += tokens[i];
else
expr += "tiddler.tags.contains('%0')".format([tokens[i].replace(/'/,"\\'")]); // fix single quote bug. still have round bracket bug i think
if (debug)
alert(expr);
return '('+expr+')';
}
});
merge(TiddlyWiki.prototype,{
getTiddlersByTagExpr: function(tagExpr,sortField) {
var result = [];
var expr = tagExpr.parseTagExpr();
store.forEachTiddler(function(title,tiddler) {
if (eval(expr))
result.push(tiddler);
});
if(!sortField)
sortField = "title";
result.sort(function(a,b) {return a[sortField] < b[sortField] ? -1 : (a[sortField] == b[sortField] ? 0 : +1);});
return result;
}
});
config.taggly = {
// for translations
lingo: {
labels: {
asc: "\u2191", // down arrow
desc: "\u2193", // up arrow
title: "title",
modified: "modified",
created: "created",
show: "+",
hide: "-",
normal: "normal",
group: "group",
commas: "commas",
sitemap: "sitemap",
numCols: "cols\u00b1", // plus minus sign
label: "Tagged as '%0':",
exprLabel: "Matching tag expression '%0':",
excerpts: "excerpts",
descr: "descr",
slices: "slices",
contents: "contents",
sliders: "sliders",
noexcerpts: "title only",
noneFound: "(none)"
},
tooltips: {
title: "Click to sort by title",
modified: "Click to sort by modified date",
created: "Click to sort by created date",
show: "Click to show tagging list",
hide: "Click to hide tagging list",
normal: "Click to show a normal ungrouped list",
group: "Click to show list grouped by tag",
sitemap: "Click to show a sitemap style list",
commas: "Click to show a comma separated list",
numCols: "Click to change number of columns",
excerpts: "Click to show excerpts",
descr: "Click to show the description slice",
slices: "Click to show all slices",
contents: "Click to show entire tiddler contents",
sliders: "Click to show tiddler contents in sliders",
noexcerpts: "Click to show entire title only"
},
tooDeepMessage: "* //sitemap too deep...//"
},
config: {
showTaggingCounts: true,
listOpts: {
// the first one will be the default
sortBy: ["title","modified","created"],
sortOrder: ["asc","desc"],
hideState: ["show","hide"],
listMode: ["normal","group","sitemap","commas"],
numCols: ["1","2","3","4","5","6"],
excerpts: ["noexcerpts","excerpts","descr","slices","contents","sliders"]
},
valuePrefix: "taggly.",
excludeTags: ["excludeLists","excludeTagging"],
excerptSize: 50,
excerptMarker: "/%"+"%/",
siteMapDepthLimit: 25
},
getTagglyOpt: function(title,opt) {
var val = store.getValue(title,this.config.valuePrefix+opt);
return val ? val : this.config.listOpts[opt][0];
},
setTagglyOpt: function(title,opt,value) {
if (!store.tiddlerExists(title))
// create it silently
store.saveTiddler(title,title,config.views.editor.defaultText.format([title]),config.options.txtUserName,new Date(),"");
// if value is default then remove it to save space
return store.setValue(title,
this.config.valuePrefix+opt,
value == this.config.listOpts[opt][0] ? null : value);
},
getNextValue: function(title,opt) {
var current = this.getTagglyOpt(title,opt);
var pos = this.config.listOpts[opt].indexOf(current);
// a little usability enhancement. actually it doesn't work right for grouped or sitemap
var limit = (opt == "numCols" ? store.getTiddlersByTagExpr(title).length : this.config.listOpts[opt].length);
var newPos = (pos + 1) % limit;
return this.config.listOpts[opt][newPos];
},
toggleTagglyOpt: function(title,opt) {
var newVal = this.getNextValue(title,opt);
this.setTagglyOpt(title,opt,newVal);
},
createListControl: function(place,title,type) {
var lingo = config.taggly.lingo;
var label;
var tooltip;
var onclick;
if ((type == "title" || type == "modified" || type == "created")) {
// "special" controls. a little tricky. derived from sortOrder and sortBy
label = lingo.labels[type];
tooltip = lingo.tooltips[type];
if (this.getTagglyOpt(title,"sortBy") == type) {
label += lingo.labels[this.getTagglyOpt(title,"sortOrder")];
onclick = function() {
config.taggly.toggleTagglyOpt(title,"sortOrder");
return false;
}
}
else {
onclick = function() {
config.taggly.setTagglyOpt(title,"sortBy",type);
config.taggly.setTagglyOpt(title,"sortOrder",config.taggly.config.listOpts.sortOrder[0]);
return false;
}
}
}
else {
// "regular" controls, nice and simple
label = lingo.labels[type == "numCols" ? type : this.getNextValue(title,type)];
tooltip = lingo.tooltips[type == "numCols" ? type : this.getNextValue(title,type)];
onclick = function() {
config.taggly.toggleTagglyOpt(title,type);
return false;
}
}
// hide button because commas don't have columns
if (!(this.getTagglyOpt(title,"listMode") == "commas" && type == "numCols"))
createTiddlyButton(place,label,tooltip,onclick,type == "hideState" ? "hidebutton" : "button");
},
makeColumns: function(orig,numCols) {
var listSize = orig.length;
var colSize = listSize/numCols;
var remainder = listSize % numCols;
var upperColsize = colSize;
var lowerColsize = colSize;
if (colSize != Math.floor(colSize)) {
// it's not an exact fit so..
upperColsize = Math.floor(colSize) + 1;
lowerColsize = Math.floor(colSize);
}
var output = [];
var c = 0;
for (var j=0;j<numCols;j++) {
var singleCol = [];
var thisSize = j < remainder ? upperColsize : lowerColsize;
for (var i=0;i<thisSize;i++)
singleCol.push(orig[c++]);
output.push(singleCol);
}
return output;
},
drawTable: function(place,columns,theClass) {
var newTable = createTiddlyElement(place,"table",null,theClass);
var newTbody = createTiddlyElement(newTable,"tbody");
var newTr = createTiddlyElement(newTbody,"tr");
for (var j=0;j<columns.length;j++) {
var colOutput = "";
for (var i=0;i<columns[j].length;i++)
colOutput += columns[j][i];
var newTd = createTiddlyElement(newTr,"td",null,"tagglyTagging"); // todo should not need this class
wikify(colOutput,newTd);
}
return newTable;
},
createTagglyList: function(place,title,isTagExpr) {
switch(this.getTagglyOpt(title,"listMode")) {
case "group": return this.createTagglyListGrouped(place,title,isTagExpr); break;
case "normal": return this.createTagglyListNormal(place,title,false,isTagExpr); break;
case "commas": return this.createTagglyListNormal(place,title,true,isTagExpr); break;
case "sitemap":return this.createTagglyListSiteMap(place,title,isTagExpr); break;
}
},
getTaggingCount: function(title,isTagExpr) {
// thanks to Doug Edmunds
if (this.config.showTaggingCounts) {
var tagCount = config.taggly.getTiddlers(title,'title',isTagExpr).length;
if (tagCount > 0)
return " ("+tagCount+")";
}
return "";
},
getTiddlers: function(titleOrExpr,sortBy,isTagExpr) {
return isTagExpr ? store.getTiddlersByTagExpr(titleOrExpr,sortBy) : store.getTaggedTiddlers(titleOrExpr,sortBy);
},
getExcerpt: function(inTiddlerTitle,title,indent) {
if (!indent)
indent = 1;
var displayMode = this.getTagglyOpt(inTiddlerTitle,"excerpts");
var t = store.getTiddler(title);
if (t && displayMode == "excerpts") {
var text = t.text.replace(/\n/," ");
var marker = text.indexOf(this.config.excerptMarker);
if (marker != -1) {
return " {{excerpt{<nowiki>" + text.substr(0,marker) + "</nowiki>}}}";
}
else if (text.length < this.config.excerptSize) {
return " {{excerpt{<nowiki>" + t.text + "</nowiki>}}}";
}
else {
return " {{excerpt{<nowiki>" + t.text.substr(0,this.config.excerptSize) + "..." + "</nowiki>}}}";
}
}
else if (t && displayMode == "contents") {
return "\n{{contents indent"+indent+"{\n" + t.text + "\n}}}";
}
else if (t && displayMode == "sliders") {
return "<slider slide>\n{{contents{\n" + t.text + "\n}}}\n</slider>";
}
else if (t && displayMode == "descr") {
var descr = store.getTiddlerSlice(title,'Description');
return descr ? " {{excerpt{" + descr + "}}}" : "";
}
else if (t && displayMode == "slices") {
var result = "";
var slices = store.calcAllSlices(title);
for (var s in slices)
result += "|%0|<nowiki>%1</nowiki>|\n".format([s,slices[s]]);
return result ? "\n{{excerpt excerptIndent{\n" + result + "}}}" : "";
}
return "";
},
notHidden: function(t,inTiddler) {
if (typeof t == "string")
t = store.getTiddler(t);
return (!t || !t.tags.containsAny(this.config.excludeTags) ||
(inTiddler && this.config.excludeTags.contains(inTiddler)));
},
// this is for normal and commas mode
createTagglyListNormal: function(place,title,useCommas,isTagExpr) {
var list = config.taggly.getTiddlers(title,this.getTagglyOpt(title,"sortBy"),isTagExpr);
if (this.getTagglyOpt(title,"sortOrder") == "desc")
list = list.reverse();
var output = [];
var first = true;
for (var i=0;i<list.length;i++) {
if (this.notHidden(list[i],title)) {
var countString = this.getTaggingCount(list[i].title);
var excerpt = this.getExcerpt(title,list[i].title);
if (useCommas)
output.push((first ? "" : ", ") + "[[" + list[i].title + "]]" + countString + excerpt);
else
output.push("*[[" + list[i].title + "]]" + countString + excerpt + "\n");
first = false;
}
}
return this.drawTable(place,
this.makeColumns(output,useCommas ? 1 : parseInt(this.getTagglyOpt(title,"numCols"))),
useCommas ? "commas" : "normal");
},
// this is for the "grouped" mode
createTagglyListGrouped: function(place,title,isTagExpr) {
var sortBy = this.getTagglyOpt(title,"sortBy");
var sortOrder = this.getTagglyOpt(title,"sortOrder");
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list = list.reverse();
var leftOvers = []
for (var i=0;i<list.length;i++)
leftOvers.push(list[i].title);
var allTagsHolder = {};
for (var i=0;i<list.length;i++) {
for (var j=0;j<list[i].tags.length;j++) {
if (list[i].tags[j] != title) { // not this tiddler
if (this.notHidden(list[i].tags[j],title)) {
if (!allTagsHolder[list[i].tags[j]])
allTagsHolder[list[i].tags[j]] = "";
if (this.notHidden(list[i],title)) {
allTagsHolder[list[i].tags[j]] += "**[["+list[i].title+"]]"
+ this.getTaggingCount(list[i].title) + this.getExcerpt(title,list[i].title) + "\n";
leftOvers.setItem(list[i].title,-1); // remove from leftovers. at the end it will contain the leftovers
}
}
}
}
}
var allTags = [];
for (var t in allTagsHolder)
allTags.push(t);
var sortHelper = function(a,b) {
if (a == b) return 0;
if (a < b) return -1;
return 1;
};
allTags.sort(function(a,b) {
var tidA = store.getTiddler(a);
var tidB = store.getTiddler(b);
if (sortBy == "title") return sortHelper(a,b);
else if (!tidA && !tidB) return 0;
else if (!tidA) return -1;
else if (!tidB) return +1;
else return sortHelper(tidA[sortBy],tidB[sortBy]);
});
var leftOverOutput = "";
for (var i=0;i<leftOvers.length;i++)
if (this.notHidden(leftOvers[i],title))
leftOverOutput += "*[["+leftOvers[i]+"]]" + this.getTaggingCount(leftOvers[i]) + this.getExcerpt(title,leftOvers[i]) + "\n";
var output = [];
if (sortOrder == "desc")
allTags.reverse();
else if (leftOverOutput != "")
// leftovers first...
output.push(leftOverOutput);
for (var i=0;i<allTags.length;i++)
if (allTagsHolder[allTags[i]] != "")
output.push("*[["+allTags[i]+"]]" + this.getTaggingCount(allTags[i]) + this.getExcerpt(title,allTags[i]) + "\n" + allTagsHolder[allTags[i]]);
if (sortOrder == "desc" && leftOverOutput != "")
// leftovers last...
output.push(leftOverOutput);
return this.drawTable(place,
this.makeColumns(output,parseInt(this.getTagglyOpt(title,"numCols"))),
"grouped");
},
// used to build site map
treeTraverse: function(title,depth,sortBy,sortOrder,isTagExpr) {
var list = config.taggly.getTiddlers(title,sortBy,isTagExpr);
if (sortOrder == "desc")
list.reverse();
var indent = "";
for (var j=0;j<depth;j++)
indent += "*"
var childOutput = "";
if (depth > this.config.siteMapDepthLimit)
childOutput += indent + this.lingo.tooDeepMessage;
else
for (var i=0;i<list.length;i++)
if (list[i].title != title)
if (this.notHidden(list[i].title,this.config.inTiddler))
childOutput += this.treeTraverse(list[i].title,depth+1,sortBy,sortOrder,false);
if (depth == 0)
return childOutput;
else
return indent + "[["+title+"]]" + this.getTaggingCount(title) + this.getExcerpt(this.config.inTiddler,title,depth) + "\n" + childOutput;
},
// this if for the site map mode
createTagglyListSiteMap: function(place,title,isTagExpr) {
this.config.inTiddler = title; // nasty. should pass it in to traverse probably
var output = this.treeTraverse(title,0,this.getTagglyOpt(title,"sortBy"),this.getTagglyOpt(title,"sortOrder"),isTagExpr);
return this.drawTable(place,
this.makeColumns(output.split(/(?=^\*\[)/m),parseInt(this.getTagglyOpt(title,"numCols"))), // regexp magic
"sitemap"
);
},
macros: {
tagglyTagging: {
handler: function (place,macroName,params,wikifier,paramString,tiddler) {
var parsedParams = paramString.parseParams("tag",null,true);
var refreshContainer = createTiddlyElement(place,"div");
// do some refresh magic to make it keep the list fresh - thanks Saq
refreshContainer.setAttribute("refresh","macro");
refreshContainer.setAttribute("macroName",macroName);
var tag = getParam(parsedParams,"tag");
var expr = getParam(parsedParams,"expr");
if (expr) {
refreshContainer.setAttribute("isTagExpr","true");
refreshContainer.setAttribute("title",expr);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("isTagExpr","false");
if (tag) {
refreshContainer.setAttribute("title",tag);
refreshContainer.setAttribute("showEmpty","true");
}
else {
refreshContainer.setAttribute("title",tiddler.title);
refreshContainer.setAttribute("showEmpty","false");
}
}
this.refresh(refreshContainer);
},
refresh: function(place) {
var title = place.getAttribute("title");
var isTagExpr = place.getAttribute("isTagExpr") == "true";
var showEmpty = place.getAttribute("showEmpty") == "true";
removeChildren(place);
addClass(place,"tagglyTagging");
var countFound = config.taggly.getTiddlers(title,'title',isTagExpr).length
if (countFound > 0 || showEmpty) {
var lingo = config.taggly.lingo;
config.taggly.createListControl(place,title,"hideState");
if (config.taggly.getTagglyOpt(title,"hideState") == "show") {
createTiddlyElement(place,"span",null,"tagglyLabel",
isTagExpr ? lingo.labels.exprLabel.format([title]) : lingo.labels.label.format([title]));
config.taggly.createListControl(place,title,"title");
config.taggly.createListControl(place,title,"modified");
config.taggly.createListControl(place,title,"created");
config.taggly.createListControl(place,title,"listMode");
config.taggly.createListControl(place,title,"excerpts");
config.taggly.createListControl(place,title,"numCols");
config.taggly.createTagglyList(place,title,isTagExpr);
if (countFound == 0 && showEmpty)
createTiddlyElement(place,"div",null,"tagglyNoneFound",lingo.labels.noneFound);
}
}
}
}
},
// todo fix these up a bit
styles: [
"/*{{{*/",
"/* created by TagglyTaggingPlugin */",
".tagglyTagging { padding-top:0.5em; }",
".tagglyTagging li.listTitle { display:none; }",
".tagglyTagging ul {",
" margin-top:0px; padding-top:0.5em; padding-left:2em;",
" margin-bottom:0px; padding-bottom:0px;",
"}",
".tagglyTagging { vertical-align: top; margin:0px; padding:0px; }",
".tagglyTagging table { margin:0px; padding:0px; }",
".tagglyTagging .button { visibility:hidden; margin-left:3px; margin-right:3px; }",
".tagglyTagging .button, .tagglyTagging .hidebutton {",
" color:[[ColorPalette::TertiaryLight]]; font-size:90%;",
" border:0px; padding-left:0.3em;padding-right:0.3em;",
"}",
".tagglyTagging .button:hover, .hidebutton:hover, ",
".tagglyTagging .button:active, .hidebutton:active {",
" border:0px; background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]];",
"}",
".selected .tagglyTagging .button { visibility:visible; }",
".tagglyTagging .hidebutton { color:[[ColorPalette::Background]]; }",
".selected .tagglyTagging .hidebutton { color:[[ColorPalette::TertiaryLight]] }",
".tagglyLabel { color:[[ColorPalette::TertiaryMid]]; font-size:90%; }",
".tagglyTagging ul {padding-top:0px; padding-bottom:0.5em; margin-left:1em; }",
".tagglyTagging ul ul {list-style-type:disc; margin-left:-1em;}",
".tagglyTagging ul ul li {margin-left:0.5em; }",
".editLabel { font-size:90%; padding-top:0.5em; }",
".tagglyTagging .commas { padding-left:1.8em; }",
"/* not technically tagglytagging but will put them here anyway */",
".tagglyTagged li.listTitle { display:none; }",
".tagglyTagged li { display: inline; font-size:90%; }",
".tagglyTagged ul { margin:0px; padding:0px; }",
".excerpt { color:[[ColorPalette::TertiaryDark]]; }",
".excerptIndent { margin-left:4em; }",
"div.tagglyTagging table,",
"div.tagglyTagging table tr,",
"td.tagglyTagging",
" {border-style:none!important; }",
".tagglyTagging .contents { border-bottom:2px solid [[ColorPalette::TertiaryPale]]; padding:0 1em 1em 0.5em;",
" margin-bottom:0.5em; }",
".tagglyTagging .indent1 { margin-left:3em; }",
".tagglyTagging .indent2 { margin-left:4em; }",
".tagglyTagging .indent3 { margin-left:5em; }",
".tagglyTagging .indent4 { margin-left:6em; }",
".tagglyTagging .indent5 { margin-left:7em; }",
".tagglyTagging .indent6 { margin-left:8em; }",
".tagglyTagging .indent7 { margin-left:9em; }",
".tagglyTagging .indent8 { margin-left:10em; }",
".tagglyTagging .indent9 { margin-left:11em; }",
".tagglyTagging .indent10 { margin-left:12em; }",
".tagglyNoneFound { margin-left:2em; color:[[ColorPalette::TertiaryMid]]; font-size:90%; font-style:italic; }",
"/*}}}*/",
""].join("\n"),
init: function() {
merge(config.macros,this.macros);
config.shadowTiddlers["TagglyTaggingStyles"] = this.styles;
store.addNotification("TagglyTaggingStyles",refreshStyles);
}
};
config.taggly.init();
//}}}
/***
InlineSlidersPlugin
By Saq Imtiaz
http://tw.lewcid.org/sandbox/#InlineSlidersPlugin
// syntax adjusted to not clash with NestedSlidersPlugin
// added + syntax to start open instead of closed
***/
//{{{
config.formatters.unshift( {
name: "inlinesliders",
// match: "\\+\\+\\+\\+|\\<slider",
match: "\\<slider",
// lookaheadRegExp: /(?:\+\+\+\+|<slider) (.*?)(?:>?)\n((?:.|\n)*?)\n(?:====|<\/slider>)/mg,
lookaheadRegExp: /(?:<slider)(\+?) (.*?)(?:>)\n((?:.|\n)*?)\n(?:<\/slider>)/mg,
handler: function(w) {
this.lookaheadRegExp.lastIndex = w.matchStart;
var lookaheadMatch = this.lookaheadRegExp.exec(w.source)
if(lookaheadMatch && lookaheadMatch.index == w.matchStart ) {
var btn = createTiddlyButton(w.output,lookaheadMatch[2] + " "+"\u00BB",lookaheadMatch[2],this.onClickSlider,"button sliderButton");
var panel = createTiddlyElement(w.output,"div",null,"sliderPanel");
panel.style.display = (lookaheadMatch[1] == '+' ? "block" : "none");
wikify(lookaheadMatch[3],panel);
w.nextMatch = lookaheadMatch.index + lookaheadMatch[0].length;
}
},
onClickSlider : function(e) {
if(!e) var e = window.event;
var n = this.nextSibling;
n.style.display = (n.style.display=="none") ? "block" : "none";
return false;
}
});
//}}}
Et ungt kristent heavyband
NB: Denne film kræver at man har Quicktime installeret på sin computer!!
[[Download og installér QuickTime|http://www.apple.com/quicktime/download/]]
/***
|''Name''|TiddlyFileImportr|
|''Version''|0.2.7|
|''Status''|experimental|
|''Source''|https://github.com/jdlrobson/TiddlyWikiPlugins/tree/master/apps/fileimport|
|''Latest''|http://repository.tiddlyspace.com/TiddlyFileImportr|
***/
//{{{
var ImportWizard, WizardMaker;
(function($) {
window.WizardMaker = function(place, wizard) {
var steps = wizard[0];
var options = wizard[1] || {};
$("<h1 />").text(options.heading || "Wizard").appendTo(place);
var wizard = this;
$('<button class="button">restart wizard</button>').click(function(ev) {
wizard.jumpTo(0);
}).appendTo(place)[0];
this.currentStep = 0;
this.body = $('<div class="wizardBody"/>').appendTo(place)[0];
this.steps = steps;
this.values = {};
this.createStep(0);
};
WizardMaker.prototype = {
/*
OPTIONS
step: [function, options]
*/
createStep: function(stepNumber) {
$(this.body).empty();
var step = this.steps[stepNumber];
if(!step) {
throw "invalid step (" + stepNumber + ")"
}
var options = step[1] || {};
var humanStep = stepNumber + 1;
var heading = "Step " + humanStep;
if(options.heading) {
heading += ": " + options.heading;
}
$("<h2 />").text(heading).appendTo(this.body);
var container = $('<div class="wizardStep" />').appendTo(this.body)[0];
step[0](container, this);
},
next: function() {
if(this.currentStep < this.steps.length - 1) {
this.currentStep += 1;
}
this.createStep(this.currentStep);
},
jumpTo: function(step) {
this.currentStep = step;
this.createStep(step);
},
setValue: function(name, val) {
this.values[name] = val;
},
getValue: function(name) {
return this.values[name];
}
};
if(window.FileReader) {
window.ImportWizard = function(options) {
var proxy = options.proxy, saveFunction = options.save,
internalizeTiddler = options.internalizeTiddler, proxyType = options.proxyType || "GET";
return [
[
[function(body, wizard) {
$(body).html('Where do you want to import from? <select><option value="1">file</option><option value="2">the web</option></select><button class="button">ok</button>');
$("button", body).click(function(ev) {
var opt = $("select", body).val();
if(opt === "1") {
wizard.next();
} else {
wizard.jumpTo(2);
}
});
},
{ heading: "File or Web?" }],
[function(body, wizard) {
$(body).html('Browse for a file: <input type="file" size="50" name="txtBrowse"><br><hr><div class="wizardFooter"><div class="message"></div></div>');
function handleFileSelect(evt) {
reader = new FileReader();
reader.onerror = function(e, msg) {
alert("Error occurred")
};
reader.onabort = function(e) {
alert('File read cancelled');
};
reader.onload = function(e) {
var html = reader.result;
wizard.setValue("html", html);
wizard.jumpTo(3)
}
// Read in the image file as a binary string.
window.reader = reader;
reader.readAsText(evt.target.files[0]);
}
$("[type=file]", body)[0].addEventListener('change', handleFileSelect, false);
}, { heading: "Locate TiddlyWiki file" }],
[function(body, wizard) {
$(body).html('Enter the URL or pathname here: <div class="message"></div><input type="text" size="50" name="txtPath"><button class="button">open</button>');
$("button", body).click(function(ev) {
var url = proxy.replace("%0", $("input", body).val())
ajaxReq({
type: options.proxyType,
url: url,
success: function(html) {
wizard.setValue("html", html);
wizard.jumpTo(3);
},
error: function() {
$(".message").html("There is something wrong with that url please try another.");
$("input", body).addClass("error");
}
})
})
},
{ heading: "Import from Web" }],
[function(body, wizard) {
var html = wizard.getValue("html");
var doc = $(html);
var store;
$(html).each(function(i, el) {
if(el.id === "storeArea") {
store = el;
}
});
if(store) {
var tiddlers = [];
$(store).children().each(function(i, el) {
var title = $(el).attr("title");
tiddlers.push(internalizeTiddler(el));
});
$("<div />").text("Choose tiddlers that you wish to import");
var table = $("<table />").appendTo(body)[0];
$("<tr />").html('<th><input type="checkbox" checked/></th><th>title</th>').
appendTo(table)
$("input", table).change(function(ev) {
var checked = $(ev.target).is(':checked');
$("input[type=checkbox]", body).attr("checked", checked);
});
for(var i = 0; i < tiddlers.length; i++) {
var title = tiddlers[i].title;
var row = $("<tr />").data("tiddler", tiddlers[i]).appendTo(table)[0];
$("<td />").html('<input type="checkbox" checked="checked"/>').appendTo(row);
$("<td />").text(title).appendTo(row);
}
$('<button class="button">import all selected tiddlers</button>').click(function(ev) {
var tids = [];
$("input[type=checkbox]:checked").each(function(i, chk) {
var tiddler = $(chk).parents("tr").data("tiddler");
if(tiddler) {
tids.push(tiddler);
}
});
wizard.setValue("selected", tids);
wizard.jumpTo(4)
}).prependTo(body);
}
},
{ heading: "Choose tiddlers" }],
[function(body, wizard) {
var tids = wizard.getValue("selected");
$(body).text("Please wait");
// do import
var save = 0;
var complete = function() {
save += 1;
if(save === tids.length) {
wizard.jumpTo(5);
}
};
$(body).text("Please wait (Importing " + tids.length + " tiddlers)");
for(var i = 0; i < tids.length; i++) {
var tid = tids[i];
$(body).text("Please wait (Importing " + tid.title + ")");
saveFunction(tid, complete);
}
},
{ heading: "Importing" }],
[function(body, wizard) {
$(body).html("Good news! Everything is now imported.");
},
{ heading: "Finished!" }]
],
{
heading: "Import tiddlers from another file or server"
}
];
}
} else {
$("#container").addClass("error").text("Your browser is not modern enough to support this app.");
}
})(jQuery);
(function($) {
if(window.ImportWizard) {
var proxy = "%0", proxyType = "GET";
if(config.extensions.tiddlyspace) {
proxy = "/reflector?uri=%0";
proxyType: "POST";
}
var loader = new TW21Loader();
var internalizer = function(node) {
var title = $(node).attr("title");
var tiddler = new Tiddler(title);
loader.internalizeTiddler(store, tiddler, title, node);
return tiddler;
};
var importer = ImportWizard({proxy:"%0", save: function(tid, callback) {
merge(tid.fields, config.defaultCustomFields);
delete tid.fields["server.page.revision"];
delete tid.fields["server.etag"];
tid = store.saveTiddler(tid.title, tid.title, tid.text,
tid.modifier, tid.modified, tid.tags, tid.fields, null, tid.created, tid.creator);
autoSaveChanges(null, [tid]);
callback();
}, internalizeTiddler: internalizer, proxyType: proxyType });
config.macros.importTiddlers = {
handler: function(place) {
var container = $("<div />").appendTo(place)[0];
new WizardMaker(container, importer);
}
};
} else if(config.macros.importTiddlers) {
var _import = config.macros.importTiddlers.handler;
config.macros.importTiddlers.handler = function(place) {
_import.apply(this, arguments);
jQuery("<div class='annotation error' />").text("Please upgrade your browser to take advantage of the modernised file import mechanism of the TiddlyFileImportr plugin.").prependTo(place);
};
}
})(jQuery);
//}}}
/***
|''Name:''|TiddlyHomeSetupPlugin|
|''Description:''|Check and setup all components|
|''Version:''|1.1.0|
|''Date:''|Aug 04, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#TiddlyHomeSetupPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|UploadToHomeMacro|
***/
//{{{
version.extensions.TiddlyHomeSetupPlugin = {
major: 1, minor: 1, revision: 0,
date: new Date("Aug 04, 2007"),
source: 'http://tiddlywiki.bidix.info/#TiddlyHomeSetupPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info)',
coreVersion: '2.2.0'
};
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.getParamsFromTiddler = function(tiddlerTitle, sliceNames) {
tiddlerTitle = (tiddlerTitle ? tiddlerTitle:this.messages.homeParamsTiddler);
if (!store.tiddlerExists(tiddlerTitle) && !store.isShadowTiddler(tiddlerTitle)) {
throw(config.macros.uploadToHome.messages.tiddlerNotFound.toString().format([tiddlerTitle]));
}
return sliceValues = store.getTiddlerSlices(tiddlerTitle,sliceNames);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
bidix.checkPlugin('UploadPlugin',4,1,0);
config.macros.upload.authenticateUser = false; // authentication check by .htaccess
// default TiddlyHomeParameters in shadows
// user can overide this
merge(config.shadowTiddlers,{
'TiddlyHomeParameters':[
"|owner:|twsos|",
"|site:|kristendom|",
"|url:|http://xn--mns-ula.dk/TWsOS/kristendom/|",
"|rootUrl:|http://xn--mns-ula.dk/TWsOS/|"
].join("\n")});
// get config from TiddlyHomeParameters
config.tiddlyHome = {};
merge(config.tiddlyHome, bidix.getParamsFromTiddler('TiddlyHomeParameters',['user','site','url','rootUrl']));
config.shadowTiddlers.TiddlyHomeParameters += [
"!Usefull url for your site",
"* " + config.tiddlyHome.url + "backup: List of backup files",
"* " + config.tiddlyHome.url + "download.php : to download thisTiddlyWiki",
"* " + config.tiddlyHome.url + "index.xml : your RSSFeed",
"* " + config.tiddlyHome.url + "news.php : to display your RSSFeed",
"!Access and change data",
"* " + config.tiddlyHome.rootUrl + "Site : Site properties",
"* " + config.tiddlyHome.rootUrl + "#User : User properties",
"!More Information on TiddlyHome",
"* " + config.tiddlyHome.rootUrl + " for your hosting service",
"*http://TiddlyHome.bidix.info/ for BidiX's TiddlyHome Package"
].join("\n");
// add TiddlyHomeSidebar in SideBarOptions
config.shadowTiddlers.SideBarOptions = config.shadowTiddlers.SideBarOptions.replace(/(<<saveChanges>>)/,
"$1<<tiddler TiddlyHomeSidebar>>");
merge(config.shadowTiddlers,{
// link to favicon.ico
'MarkupPreHead': [
"<!--{{{-->",
"<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>",
"<link rel=\"shortcut icon\"href=\"" +
config.tiddlyHome.rootUrl +
"_th/images/favicon.ico\" type=\"image/vnd.microsoft.icon\" />",
"<link rel=\"icon\" href=\"" +
config.tiddlyHome.rootUrl +
"_th/images/favicon.ico\" type=\"image/vnd.microsoft.icon\" /> ",
"<!--}}}-->"
].join("\n"),
'SiteProxy': [
"proxy.php?url="
].join("\n"),
'SiteUrl': config.tiddlyHome.url,
// tweaks to UploadToHomeMacro parameters
'HomeParameters': [
"|UploadUserName:||",
"|UploadStoreUrl:|" + config.tiddlyHome.url + "store.php|",
"|UploadDir:|.|",
"|UploadFilename:|index.html|",
"|UploadBackupDir:|backup|"
].join("\n"),
'TiddlyHomeSidebar':[
"<<uploadToHome>><html><a href=" +
config.tiddlyHome.url + "download.php class='button'>download</a></html>"
].join("\n")
});
// Options tweaks
//config.options.txtUserName = config.tiddlyHome.user;
config.options.pasUploadPassword = '';
config.options.txtBackupFolder = "backup";
config.options.chkSaveBackups = true;
config.options.chkAutoSave = false;
config.options.chkRegExpSearch = false;
config.options.chkCaseSensitiveSearch = false;
config.options.chkAnimate = false;
config.options.chkGenerateAnRssFeed = true;
config.options.chkSaveEmptyTemplate = false;
//}}}
|URL:|http://TiddlyHome.bidix.info/systemServer/TiddlyHomeSystem.html|
|Description|Repository for TiddlyHome system ressources |
|Author:|BidiX|
/%
!info
|Name|ToggleRightSidebar|
|Source|http://www.TiddlyTools.com/#ToggleRightSidebar|
|Version|2.0.0|
|Author|Eric Shulman|
|License|http://www.TiddlyTools.com/#LegalStatements|
|~CoreVersion|2.1|
|Type|transclusion|
|Description|show/hide right sidebar (SideBarOptions)|
Usage
<<<
{{{
<<tiddler ToggleRightSidebar>>
<<tiddler ToggleRightSidebar with: label tooltip>>
}}}
Try it: <<tiddler ToggleRightSidebar##show
with: {{config.options.chkShowRightSidebar?'►':'◄'}}>>
<<<
Configuration:
<<<
copy/paste the following settings into a tiddler tagged with <<tag systemConfig>> and then modify the values to suit your preferences:
{{{
config.options.chkShowRightSidebar=true;
config.options.txtToggleRightSideBarLabelShow="◄";
config.options.txtToggleRightSideBarLabelHide="►";
}}}
<<<
!end
!show
<<tiddler {{
var co=config.options;
if (co.chkShowRightSidebar===undefined) co.chkShowRightSidebar=true;
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=co.chkShowRightSidebar?'block':'none';
da.style.marginRight=co.chkShowRightSidebar?'':'1em';
}
'';}}>><html><nowiki><a href='javascript:;' title="$2"
onmouseover="
this.href='javascript:void(eval(decodeURIComponent(%22(function(){try{('
+encodeURIComponent(encodeURIComponent(this.onclick))
+')()}catch(e){alert(e.description?e.description:e.toString())}})()%22)))';"
onclick="
var co=config.options;
var opt='chkShowRightSidebar';
var show=co[opt]=!co[opt];
var sb=document.getElementById('sidebar');
var da=document.getElementById('displayArea');
if (sb) {
sb.style.display=show?'block':'none';
da.style.marginRight=show?'':'1em';
}
saveOptionCookie(opt);
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
if (this.innerHTML==labelShow||this.innerHTML==labelHide)
this.innerHTML=show?labelHide:labelShow;
this.title=(show?'hide':'show')+' right sidebar';
var sm=document.getElementById('storyMenu');
if (sm) config.refreshers.content(sm);
return false;
">$1</a></html>
!end
%/<<tiddler {{
var src='ToggleRightSidebar';
src+(tiddler&&tiddler.title==src?'##info':'##show');
}} with: {{
var co=config.options;
var labelShow=co.txtToggleRightSideBarLabelShow||'◄';
var labelHide=co.txtToggleRightSideBarLabelHide||'►';
'$1'!='$'+'1'?'$1':(co.chkShowRightSidebar?labelHide:labelShow);
}} {{
var tip=(config.options.chkShowRightSidebar?'hide':'show')+' right sidebar';
'$2'!='$'+'2'?'$2':tip;
}}>>
|~ViewToolbar|closeTiddler closeOthers editHtml +editTiddler > fields syncing permalink references jump|
|~EditToolbar|+saveTiddler -cancelTiddler deleteTiddler|
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 06/05/2013 16:59:36 | DitNavn | [[/|http://xn--mns-ula.dk/TWsOS/kristendom/]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup | ok |
| 06/05/2013 17:06:07 | DitNavn | [[/|http://xn--mns-ula.dk/TWsOS/kristendom/]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 18:58:24 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 18:58:53 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 19:20:45 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 19:36:17 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 23:05:45 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup | ok |
| 06/05/2013 23:11:38 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 23:11:49 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
| 06/05/2013 23:21:12 | DitNavn | [[index.html|http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | [[store.php|http://xn--mns-ula.dk/TWsOS/kristendom/store.php]] | . | [[index.html | http://xn--mns-ula.dk/TWsOS/kristendom/index.html]] | backup |
/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.4|
|''Date:''|2008-08-11|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
major: 4, minor: 1, revision: 4,
date: new Date("2008-08-11"),
source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
//
// Upload Macro
//
config.macros.upload = {
// default values
defaultBackupDir: '', //no backup
defaultStoreScript: "store.php",
defaultToFilename: "index.html",
defaultUploadDir: ".",
authenticateUser: true // UploadService Authenticate User
};
config.macros.upload.label = {
promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
promptParamMacro: "Save and Upload this TiddlyWiki in %0",
saveLabel: "save to web",
saveToDisk: "save to disk",
uploadLabel: "upload"
};
config.macros.upload.messages = {
noStoreUrl: "No store URL in parmeters or options",
usernameOrPasswordMissing: "Username or password missing"
};
config.macros.upload.handler = function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = this.label.saveLabel;
else
label = this.label.uploadLabel;
var prompt;
if (params[0]) {
prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0],
(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
} else {
prompt = this.label.promptOption;
}
createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};
config.macros.upload.action = function(params)
{
// for missing macro parameter set value from options
if (!params) params = {};
var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
var username = params[4] ? params[4] : config.options.txtUploadUserName;
var password = config.options.pasUploadPassword; // for security reason no password as macro parameter
// for still missing parameter set default value
if ((!storeUrl) && (document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
if (storeUrl.substr(0,4) != "http")
storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
if (!toFilename)
toFilename = bidix.basename(window.location.toString());
if (!toFilename)
toFilename = config.macros.upload.defaultToFilename;
if (!uploadDir)
uploadDir = config.macros.upload.defaultUploadDir;
if (!backupDir)
backupDir = config.macros.upload.defaultBackupDir;
// report error if still missing
if (!storeUrl) {
alert(config.macros.upload.messages.noStoreUrl);
clearMessage();
return false;
}
if (config.macros.upload.authenticateUser && (!username || !password)) {
alert(config.macros.upload.messages.usernameOrPasswordMissing);
clearMessage();
return false;
}
bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password);
return false;
};
config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir)
{
if (!storeUrl)
return null;
var dest = bidix.dirname(storeUrl);
if (uploadDir && uploadDir != '.')
dest = dest + '/' + uploadDir;
dest = dest + '/' + toFilename;
return dest;
};
//
// uploadOptions Macro
//
config.macros.uploadOptions = {
handler: function(place,macroName,params) {
var wizard = new Wizard();
wizard.createWizard(place,this.wizardTitle);
wizard.addStep(this.step1Title,this.step1Html);
var markList = wizard.getElement("markList");
var listWrapper = document.createElement("div");
markList.parentNode.insertBefore(listWrapper,markList);
wizard.setValue("listWrapper",listWrapper);
this.refreshOptions(listWrapper,false);
var uploadCaption;
if (document.location.toString().substr(0,4) == "http")
uploadCaption = config.macros.upload.label.saveLabel;
else
uploadCaption = config.macros.upload.label.uploadLabel;
wizard.setButtons([
{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption,
onClick: config.macros.upload.action},
{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
]);
},
options: [
"txtUploadUserName",
"pasUploadPassword",
"txtUploadStoreUrl",
"txtUploadDir",
"txtUploadFilename",
"txtUploadBackupDir",
"chkUploadLog",
"txtUploadLogMaxLine"
],
refreshOptions: function(listWrapper) {
var opts = [];
for(i=0; i<this.options.length; i++) {
var opt = {};
opts.push();
opt.option = "";
n = this.options[i];
opt.name = n;
opt.lowlight = !config.optionsDesc[n];
opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
opts.push(opt);
}
var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
for(n=0; n<opts.length; n++) {
var type = opts[n].name.substr(0,3);
var h = config.macros.option.types[type];
if (h && h.create) {
h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
}
}
},
onCancel: function(e)
{
backstage.switchTab(null);
return false;
},
wizardTitle: "Upload with options",
step1Title: "These options are saved in cookies in your browser",
step1Html: "<input type='hidden' name='markList'></input><br>",
cancelButton: "Cancel",
cancelButtonPrompt: "Cancel prompt",
listViewTemplate: {
columns: [
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
};
//
// upload functions
//
if (!bidix.upload) bidix.upload = {};
if (!bidix.upload.messages) bidix.upload.messages = {
//from saving
invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
backupSaved: "Backup saved",
backupFailed: "Failed to upload backup file",
rssSaved: "RSS feed uploaded",
rssFailed: "Failed to upload RSS feed file",
emptySaved: "Empty template uploaded",
emptyFailed: "Failed to upload empty template file",
mainSaved: "Main TiddlyWiki file uploaded",
mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
//specific upload
loadOriginalHttpPostError: "Can't get original file",
aboutToSaveOnHttpPost: 'About to upload on %0 ...',
storePhpNotFound: "The store script '%0' was not found."
};
bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
var callback = function(status,uploadParams,original,url,xhr) {
if (!status) {
displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
return;
}
if (bidix.debugMode)
alert(original.substr(0,500)+"\n...");
// Locate the storeArea div's
var posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
bidix.upload.uploadRss(uploadParams,original,posDiv);
};
if(onlyIfDirty && !store.isDirty())
return;
clearMessage();
// save on localdisk ?
if (document.location.toString().substr(0,4) == "file") {
var path = document.location.toString();
var localPath = getLocalPath(path);
saveChanges();
}
// get original
var uploadParams = new Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
var originalPath = document.location.toString();
// If url is a directory : add index.html
if (originalPath.charAt(originalPath.length-1) == "/")
originalPath = originalPath + "index.html";
var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
var log = new bidix.UploadLog();
log.startUpload(storeUrl, dest, uploadDir, backupDir);
displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
if (bidix.debugMode)
alert("about to execute Http - GET on "+originalPath);
var r = doHttp("GET",originalPath,null,null,username,password,callback,uploadParams,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
bidix.upload.uploadRss = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
if(status) {
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
bidix.upload.uploadMain(params[0],params[1],params[2]);
} else {
displayMessage(bidix.upload.messages.rssFailed);
}
};
// do uploadRss
if(config.options.chkGenerateAnRssFeed) {
var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
var rssUploadParams = new Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
var rssString = generateRss();
// no UnicodeToUTF8 conversion needed when location is "file" !!!
if (document.location.toString().substr(0,4) != "file")
rssString = convertUnicodeToUTF8(rssString);
bidix.upload.httpUpload(rssUploadParams,rssString,callback,Array(uploadParams,original,posDiv));
} else {
bidix.upload.uploadMain(uploadParams,original,posDiv);
}
};
bidix.upload.uploadMain = function(uploadParams,original,posDiv)
{
var callback = function(status,params,responseText,url,xhr) {
var log = new bidix.UploadLog();
if(status) {
// if backupDir specified
if ((params[3]) && (responseText.indexOf("backupfile:") > -1)) {
var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
}
var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
store.setDirty(false);
log.endUpload("ok");
} else {
alert(bidix.upload.messages.mainFailed);
displayMessage(bidix.upload.messages.mainFailed);
log.endUpload("failed");
}
};
// do uploadMain
var revised = bidix.upload.updateOriginal(original,posDiv);
bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};
bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
var localCallback = function(status,params,responseText,url,xhr) {
url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
if (xhr.status == 404)
alert(bidix.upload.messages.storePhpNotFound.format([url]));
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
if (responseText.charAt(0) != '0')
status = null;
callback(status,params,responseText,url,xhr);
};
// do httpUpload
var boundary = "---------------------------"+"AaB03x";
var uploadFormName = "UploadPlugin";
// compose headers data
var sheader = "";
sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
sheader += uploadFormName +"\"\r\n\r\n";
sheader += "backupDir="+uploadParams[3] +
";user=" + uploadParams[4] +
";password=" + uploadParams[5] +
";uploaddir=" + uploadParams[2];
if (bidix.debugMode)
sheader += ";debug=1";
sheader += ";;\r\n";
sheader += "\r\n" + "--" + boundary + "\r\n";
sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
sheader += "Content-Length: " + data.length + "\r\n\r\n";
// compose trailer data
var strailer = new String();
strailer = "\r\n--" + boundary + "--\r\n";
data = sheader + data + strailer;
if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; ;charset=UTF-8; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
if (typeof r == "string")
displayMessage(r);
return r;
};
// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
if (!posDiv)
posDiv = locateStoreArea(original);
if((posDiv[0] == -1) || (posDiv[1] == -1)) {
alert(config.messages.invalidFileError.format([localPath]));
return;
}
var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
store.allTiddlersAsHtml() + "\n" +
original.substr(posDiv[1]);
var newSiteTitle = getPageTitle().htmlEncode();
revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
return revised;
};
//
// UploadLog
//
// config.options.chkUploadLog :
// false : no logging
// true : logging
// config.options.txtUploadLogMaxLine :
// -1 : no limit
// 0 : no Log lines but UploadLog is still in place
// n : the last n lines are only kept
// NaN : no limit (-1)
bidix.UploadLog = function() {
if (!config.options.chkUploadLog)
return; // this.tiddler = null
this.tiddler = store.getTiddler("UploadLog");
if (!this.tiddler) {
this.tiddler = new Tiddler();
this.tiddler.title = "UploadLog";
this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
this.tiddler.created = new Date();
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
}
return this;
};
bidix.UploadLog.prototype.addText = function(text) {
if (!this.tiddler)
return;
// retrieve maxLine when we need it
var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
if (isNaN(maxLine))
maxLine = -1;
// add text
if (maxLine != 0)
this.tiddler.text = this.tiddler.text + text;
// Trunck to maxLine
if (maxLine >= 0) {
var textArray = this.tiddler.text.split('\n');
if (textArray.length > maxLine + 1)
textArray.splice(1,textArray.length-1-maxLine);
this.tiddler.text = textArray.join('\n');
}
// update tiddler fields
this.tiddler.modifier = config.options.txtUserName;
this.tiddler.modified = new Date();
store.addTiddler(this.tiddler);
// refresh and notifiy for immediate update
story.refreshTiddler(this.tiddler.title);
store.notify(this.tiddler.title, true);
};
bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir, backupDir) {
if (!this.tiddler)
return;
var now = new Date();
var text = "\n| ";
var filename = bidix.basename(document.location.toString());
if (!filename) filename = '/';
text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
text += config.options.txtUserName + " | ";
text += "[["+filename+"|"+location + "]] |";
text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
text += uploadDir + " | ";
text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
text += backupDir + " |";
this.addText(text);
};
bidix.UploadLog.prototype.endUpload = function(status) {
if (!this.tiddler)
return;
this.addText(" "+status+" |");
};
//
// Utilities
//
bidix.checkPlugin = function(plugin, major, minor, revision) {
var ext = version.extensions[plugin];
if (!
(ext &&
((ext.major > major) ||
((ext.major == major) && (ext.minor > minor)) ||
((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
// write error in PluginManager
if (pluginInfo)
pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
}
};
bidix.dirname = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(0, lastpos);
} else {
return filePath.substring(0, filePath.lastIndexOf("\\"));
}
};
bidix.basename = function(filePath) {
if (!filePath)
return;
var lastpos;
if ((lastpos = filePath.lastIndexOf("#")) != -1)
filePath = filePath.substring(0, lastpos);
if ((lastpos = filePath.lastIndexOf("/")) != -1) {
return filePath.substring(lastpos + 1);
} else
return filePath.substring(filePath.lastIndexOf("\\")+1);
};
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
//
// Initializations
//
// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);
// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
txtUploadUserName: "Upload Username",
pasUploadPassword: "Upload Password",
chkUploadLog: "do Logging in UploadLog (default: true)",
txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});
// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');
// Backstage
merge(config.tasks,{
uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");
//}}}
/***
|''Name:''|UploadTiddlerPlugin|
|''Description:''|Upload a tiddler and Update a remote TiddlyWiki |
|''Version:''|1.2.1|
|''Date:''|2008-08-19|
|''Source:''|http://tiddlywiki.bidix.info/#UploadTiddlerPlugin|
|''Usage:''|Uses {{{uploadOptions>>}}}<br>with those UploadTiddler Options : <br>chkUploadTiddler: <<option chkUploadTiddler>><br>txtUploadTiddlerStoreUrl: <<option txtUploadTiddlerStoreUrl>>|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''[[License]]:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''CoreVersion:''|2.3.0|
***/
//{{{
version.extensions.UploadTiddlerPlugin = {
major: 1, minor: 2, revision: 1,
date: new Date("2008-08-11"),
source: 'http://tiddlywiki.bidix.info/#UploadTiddlerPlugin',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.3.0'
};
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;
bidix.uploadTiddler = {
messages: {
aboutToSaveTiddler: "About to update tiddler '%0'...",
storeTiddlerNotFound: "Script store tiddler '%0' not found",
tiddlerSaved: "Tiddler '%0' updated in '%1'"
},
upload: function(title,tiddler,oldTitle) {
var callback = function(status,params,responseText,url,xhr) {
if (xhr.status == 404) {
alert(bidix.uploadTiddler.messages.storeTiddlerNotFound.format([url]));
return;
}
if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
alert(responseText);
if (responseText.indexOf("Debug mode") >= 0 )
responseText = responseText.substring(responseText.indexOf("\n\n")+2);
} else if (responseText.charAt(0) != '0')
alert(responseText);
else
displayMessage(bidix.uploadTiddler.messages.tiddlerSaved.format([params[0], params[1]]));
store.setDirty(false);
}
if ((config.options['chkUploadTiddler']) && (document.location.toString().substr(0,4) == "http")){
displayMessage(bidix.uploadTiddler.messages.aboutToSaveTiddler.format([title]));
var ExtTiddler = null;
var html = null;
if (tiddler) {
ExtTiddler = store.getSaver().externalizeTiddler(store,tiddler);
html = wikifyStatic(tiddler.text,null,tiddler).htmlEncode();
}
var form = "title="+encodeURIComponent(title);
form = form + "&tiddler="+(ExtTiddler?encodeURIComponent(ExtTiddler):'');
form = form + "&html="+(html?encodeURIComponent(html):'');
var filename = (config.options['txtUploadFilename']?config.options['txtUploadFilename']:'index.html');
form = form +"&oldTitle="+encodeURIComponent(oldTitle);
form = form +"&fileName="+encodeURIComponent(filename);
form = form +"&backupDir="+encodeURIComponent(config.options['txtUploadBackupDir']);
form = form +"&user="+encodeURIComponent(config.options['txtUploadUserName']);
form = form +"&password="+encodeURIComponent(config.options['pasUploadPassword']);
form = form +"&uploadir="+encodeURIComponent(config.options['txtUploadDir']);
form = form +"&debug="+encodeURIComponent(0);
var storeScript = (config.options.txtUploadTiddlerStoreUrl
? config.options.txtUploadTiddlerStoreUrl : 'storeTiddler.php');
var r = doHttp("POST",storeScript,form+"\n",'application/x-www-form-urlencoded',
config.options['txtUploadUserName'],config.options['pasUploadPassword'],callback,Array(title,filename),null);
}
}
}
TiddlyWiki.prototype.saveTiddler_bidix = TiddlyWiki.prototype.saveTiddler;
TiddlyWiki.prototype.saveTiddler = function(oldTitle,newTitle,newBody,modifier,modified,tags,fields,clearChangeCount,created) {
var tiddler = TiddlyWiki.prototype.saveTiddler_bidix.apply(this,arguments);
var title = (newTitle?newTitle:oldTitle);
if (oldTitle == title)
oldTitle = '';
bidix.uploadTiddler.upload(title, tiddler, oldTitle);
}
TiddlyWiki.prototype.removeTiddler_bidix =TiddlyWiki.prototype.removeTiddler;
TiddlyWiki.prototype.removeTiddler = function(title) {
TiddlyWiki.prototype.removeTiddler_bidix.apply(this,arguments);
bidix.uploadTiddler.upload(title, null);
}
//
// Initializations
//
bidix.initOption = function(name,value) {
if (!config.options[name])
config.options[name] = value;
};
// styleSheet
setStylesheet('.txtUploadTiddlerStoreUrl {width: 22em;}',"uploadTiddlerPluginStyles");
//optionsDesc
merge(config.optionsDesc,{
txtUploadTiddlerStoreUrl: "Url of the UploadTiddlerService script (default: storeTiddler.php)",
chkUploadTiddler: "Do per Tiddler upload using txtUploadTiddlerStoreUrl (default: false)"
});
// Options Initializations
bidix.initOption('txtUploadTiddlerStoreUrl','');
bidix.initOption('chkUploadTiddler','');
// add options in backstage UploadOptions
if (config.macros.uploadOptions) {
if (config.macros.uploadOptions.options) {
config.macros.uploadOptions.options.push("txtUploadTiddlerStoreUrl","chkUploadTiddler");
}
}
//}}}
/***
|''Name:''|UploadToHomeMacro|
|''Description:''|Save TiddlyWiki using HomeParameters tiddler|
|''Version:''|0.0.2|
|''Date:''|May 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#UploadToHomeMacro|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (#2125)|
|''Requires:''|UploadPlugin|
|''Usage:''|{{{<<uploadToHome [HomeParameters]>>}}}<br>{{{HomeParameters:}}} optional - Tiddler with upload parameters in slices (see HomeParameters).|
***/
//{{{
version.extensions.UploadToHomeMacro = {
major: 0, minor: 0, revision: 2,
date: new Date("May 19, 2007"),
source: 'http://tiddlywiki.bidix.info/#UploadToHomeMacro',
author: 'BidiX (BidiX (at) bidix (dot) info',
coreVersion: '2.2.0 (#3125)'
};
//
// Environment
//
if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false; // true to activate both in Plugin and UploadService
bidix.checkPlugin("UploadPlugin", 4, 1, 0);
//
// uploadUsing Macro
//
config.macros.uploadToHome = {
handler: function(place,macroName,params) {
if (readOnly)
return;
var label;
if (document.location.toString().substr(0,4) == "http")
label = config.macros.upload.label.saveLabel;
else
label = config.macros.upload.label.uploadLabel;
var prompt;
var homeParams = (params[0] ? params[0]:this.messages.homeParamsTiddler);
if (store.tiddlerExists(homeParams) || store.isShadowTiddler(homeParams)) {
prompt = this.messages.prompt.toString().format([homeParams]);
} else {
throw(this.messages.tiddlerNotFound.toString().format([homeParams]));
}
var prompt = this.messages.prompt.toString().format([homeParams]);
createTiddlyButton(place, label, prompt, function() {config.macros.uploadToHome.action(homeParams);}, null, null, this.accessKey);
},
action: function(homeParams) {
homeParams = (homeParams ? homeParams : config.macros.uploadToHome.messages.homeParamsTiddler);
if (!store.tiddlerExists(homeParams) && !store.isShadowTiddler(homeParams)) {
throw(config.macros.uploadToHome.messages.tiddlerNotFound.toString().format([homeParams]));
}
config.macros.upload.action(config.macros.uploadToHome.getParamsFromTiddler(homeParams));
},
getParamsFromTiddler: function(tiddlerTitle) {
tiddlerTitle = (tiddlerTitle ? tiddlerTitle:this.messages.homeParamsTiddler);
if (!store.tiddlerExists(tiddlerTitle) && !store.isShadowTiddler(tiddlerTitle)) {
throw(config.macros.uploadToHome.messages.tiddlerNotFound.toString().format([tiddlerTitle]));
}
var sliceNames = [
"UploadStoreUrl",
"UploadFilename",
"UploadBackupDir",
"UploadDir",
"UploadUserName"
//"UploadPassword", // no password in tiddlers
];
var sliceValues = store.getTiddlerSlices(tiddlerTitle,sliceNames);
var parameters = [];
for(var i=0; i<sliceNames.length; i++) {
parameters.push(sliceValues[sliceNames[i]]);
}
return parameters;
},
messages: {
homeParamsTiddler: "HomeParameters",
prompt: "Save and Upload this TiddlyWiki using parameters in '%0' tiddler",
tiddlerNotFound: "Tiddler %0 not found"
},
initAtLoad: function () {
// install Shadowed HomeParameters
var storeUrl;
if ((document.location.toString().substr(0,4) == "http"))
storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
else
storeUrl = config.macros.upload.defaultStoreScript;
var shadowedHomeParameters = (config.shadowTiddlers['HomeParameters']?config.shadowTiddlers['HomeParameters']:'');
shadowedHomeParameters += [
"|UploadUserName:|"+config.options['txtUploadUserName']+"|",
"|UploadStoreUrl:|"+storeUrl+"|",
"|UploadDir:|.|",
"|UploadFilename:|index.html|",
"|UploadBackupDir:||"
].join("\n");
merge(config.shadowTiddlers,{'HomeParameters': shadowedHomeParameters});
// install Backstage uploadToHome
merge(config.tasks,{
uploadToHome: {text: "uploadToHome", tooltip: "Upload using '" + this.messages.homeParamsTiddler + "' tiddler", action: this.action}
});
config.backstageTasks.push("uploadToHome");
}
};
config.macros.uploadToHome.initAtLoad();
//}}}
<!--{{{-->
<div class='toolbar' role='navigation' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged menubox' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
/*{{{*/
@font-face {font-family: "Zekton"; src: url(data:font/font;base64,AAEAAAAUAQAABABAR1BPU4ovb6YAAOxsAAASVkdTVUIqyjtgAAD+xAAAAWRMVFNIKDSwkgAACCAAAAGCT1MvMl9yIjcAAAHIAAAAYFZETVh0WXvYAAAJpAAABeBjbWFwYgxKKAAAOAwAAARIY3Z0IAdqAxQAAD9sAAAAPGZwZ20GUJwuAAA8VAAAAXNnYXNwAAcABwAA7GAAAAAMZ2x5ZqkEgIMAAD+oAAB3TGhkbXhFtQDXAAAPhAAAKIhoZWFk8MhAOgAAAUwAAAA2aGhlYQbcBEEAAAGEAAAAJGhtdHj2cD6XAAACKAAABfhrZXJuk/uEkAAAufQAACLgbG9jYQ9z8KQAALb0AAAC/m1heHADmAIvAAABqAAAACBuYW1lR0uPdAAA3NQAAAbwcG9zdEuFns4AAOPEAAAImnByZXCzGJl+AAA9yAAAAaQAAQAAAAQAACm2IuhfDzz1ABkD6AAAAADHEoycAAAAAMcib6v/e/8zA+oD4wAAAAAAAAAAAAAAAAABAAADW/8zABkEKf97/2YD6gABAAAAAAAAAAAAAAAAAAABfgABAAABfgA6AAQATwAHAAEAAAAAAAoAAAIAAaQABAABAAMB/QGQAAUABABkAGQAAACMAGQAZAAAAIwAMgD6CAUCAAUGAAAAAgAEoAAArwAAAEoAAAAAAAAAAFRZUE8AQAAX+P8DIP84ADEDWwDNIAAAgwAAAAACAALaAAAAIAADApgAIwDyAAAA8gAAAOEASQEeABYB8gArAikAQALnADkCgABAAIgAFgD2AEAA9gBAAgIAQAILADQA1QBAAVYALgDVAEABFwAFAoAAQAD2ABMCHQBAAicAPQI2AB0CHQBAAk4AQAHyABACgABAAkoANQDVAEAA1QBAAW0AQAFtAEABbQBAAgkAIAL/AEACngAJAlUAQAIjAEACrABAAhEAQAICAEACowBAAoAAQADNAEABfAAWAjYAQAH/AEAC+wBAAqwAQAKsAEACWQBAAqwAQAI/AEACfAA7AhYAEQKsAEACngAJA3AACQK/ABgCiv/9AnMAJQDbAEABGQAKANsAQAGUACUBe///AUkAJQJOADkCVQBAAdAAQAJVAEACRQBAAOkAQAJVAEACVQBAAM4AQADN/+kCGwBAAM0AQALXAEACVQBAAlUAQAJVAEACVQBAARYAQAHdADAA3gAbAlUAQAIdAAkDJwAJAiUABwJVAEACIwAqAQkAQACtAEABCQBAAe0AQADyAAAA4QBJAa4AMAHAABQCowAJAM0AQAINADABbAAlAvsAKgG6ACoCNAAlAvsAKgHOACUBkgBAASwAKAExACYBSQAlAqwAQAHEABQA1QBAAJ0AJQCZABABvwAwAjQAJQKcAD8CoAA/ArQAOQHyAC8CngAJAp4ACQKeAAkCngAJAp4ACQKeAAkDCf/9AiMAQAIRAEACEQBAAhEAQAIRAEAAzf/KAM0ABgDN/8EAzf/XArEACQKsAEACrABAAqwAQAKsAEACrABAAqwAQAILAFgCrABAAqwAQAKsAEACrABAAqwAQAKK//0CPQBAAnIAQAJOADkCTgA5Ak4AOQJOADkCTgA5Ak4AOQMeAEAB0ABAAkUAQAJFAEACRQBAAkUAQADN/8oAzQAGAM3/wQDN/9cCVQBAAlUAQAJVAEACVQBAAlUAQAJVAEACVQBAAd0AGgJVAEACVQBAAlUAQAJVAEACVQBAAlUAQAJRAEACVQBAAp4ACQJOADkCngAJAk4AOQKeAAkCTgA5AiMAQAHQAEACIwBAAdAAQAIjAEAB0ABAAiMAQAHQAEACrABAArcAQAKxAAkCVQBAAhEAQAJFAEACEQBAAkUAQAIRAEACRQBAAhEAQAJFAEACEQBAAkUAQAKjAEACVQBAAqMAQAJVAEACowBAAlUAQAKjAEACVQBAAoAAQAJVAEACgABAAlUADgDN/7AAzf+wAM3/pgDN/6YAzf+/AM3/vwDN/9EAzv/SAM0AOgDNAEACSQBAAZsAQAF8//AAzf97AjYAQAIbAEAB/wAJAM0ABgH/AEAAzQA/Af8AQAE4AEAB/wBAATIAQAH//9kAzf/UAqwAQAJVAEACrABAAlUAQAKsAEACVQBAAqwAQAJVAEACrABAAlUAQAKsAEACVQBAAqwAQAJVAEAC0ABAA1MAQAI/AEABFgA9Aj8AQAEWAEACPwBAARYAAwJ8ADsB3QAwAnwAOwHdADACfAA7Ad0AMAJ8ADsB3QAwAhYAEQDeABsCFgARAR8AGwIWABEA3gAbAqwAQAJVAEACrABAAlUAQAKsAEACVQBAAqwAQAJVAEACrABAAlUAQAKsAEACVQBAA3AACQMnAAkCiv/9AlUAQAKK//0CcwAlAiMAKgJzACUCIwAqAnMAJQIjACoCngAJAnwAOwHdADACFgARAN4AGwDN/+kBmAAlAZgAJQGcACUAowAlAQAAJQEIACUBuwAlAZ4AJQNwAAkDJwAJA3AACQMnAAkDcAAJAycACQKK//0CVQBAAdQALgMJAC4AgwAWAIMAFgCDABYBBgAWAQYAFgEGABYCSABAAkwAQAINAEAEKQBAA/UAOQEaACUBGgAlALP/ggFeACgBOQAXASwAKAFFACgBFwARAV4AKAFDACIBXgAoAJkAEAEsACgBMQAmATkAFwEsACgBRQAoARcAEQFeACgBQwAiAdgAFAL7ACoC6wApAp8AQALEADkCuAA/AsYAOQK/ADkCwgA6AgsANADyAAABsgAAAAAAAAAAAX5UAQEBZQFUAQFlAQEBAQEBAQFUAWFlYWFlAVRlAQEBAQFhVAFUAWEBAWFUAVRhAWVhYWFhVF0BYQEBAQEBAQEBAQEBZVQBVGUBVFQBAWEBYVRUVFQBYQFUAQEBVAEBAQEBAQEBAQEBZWVhYQFhAWUBAQFhVAFhAWEBAQEBYQEBAQEBAQEBAQEBAQEBAQFUAQEBAQEBAWEBAQEBAWFhAQEBAQEBZQEBAQEBAQEBAVQBAQEBAQEBVAEBAQEBZQEBAQEBZWUBAQEBAQEBAQEBAVQBAQEBAQEBNwEBAQEBAQEBAQEBAVRUAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEvVAEBAQEBAQFdAQEBAQEBAQEBAQEBAQEBAQEBAWUBAQEBAQEBAQEBYWUBAQEBAQEBAQEBAQEBAQEBAQEBZWVdAQEBAQEBAQEBAQEBAQFhYQEBAQEBAQEBAQEBAQEBAQEBAWEBVERMVGUBYWEBYUwBAQEBAQEBAQEBAAAAAAABAAEBAQEBAAwA+Aj/AAgACf/+AAkACf/+AAoACv/9AAsAC//9AAwADf/9AA0ADf/9AA4ADv/9AA8AD//8ABAAEP/8ABEAEf/8ABIAEv/8ABMAE//8ABQAFP/7ABUAFf/7ABYAFv/7ABcAF//7ABgAGP/7ABkAGP/6ABoAGv/6ABsAG//6ABwAHP/6AB0AHf/6AB4AH//5AB8AIP/5ACAAIP/5ACEAIf/5ACIAIv/5ACMAJP/4ACQAJP/4ACUAJf/4ACYAJv/4ACcAKP/4ACgAKP/3ACkAKf/3ACoAKv/3ACsAK//3ACwALP/2AC0ALf/2AC4ALv/2AC8AL//2ADAAL//2ADEAMf/1ADIAMv/1ADMAM//1ADQAM//1ADUANf/1ADYANv/0ADcAN//0ADgAOf/0ADkAOP/0ADoAO//0ADsAO//zADwAPP/zAD0APf/zAD4AP//zAD8AP//zAEAAQP/yAEEAQf/yAEIAQv/yAEMAQ//yAEQARP/yAEUARf/xAEYARf/xAEcARv/xAEgASP/xAEkASf/xAEoASv/wAEsASv/wAEwATP/wAE0ATf/wAE4ATv/wAE8AT//vAFAAT//vAFEAUf/vAFIAUv/vAFMAU//uAFQAU//uAFUAVf/uAFYAVv/uAFcAV//uAFgAWP/tAFkAWf/tAFoAWv/tAFsAW//tAFwAW//tAF0AXP/sAF4AXf/sAF8AX//sAGAAYP/sAGEAYP/sAGIAYf/rAGMAY//rAGQAZP/rAGUAZf/rAGYAZf/rAGcAZv/qAGgAaP/qAGkAaf/qAGoAav/qAGsAav/qAGwAbP/pAG0Abf/pAG4Abv/pAG8Abv/pAHAAb//pAHEAcf/oAHIAcv/oAHMAcv/oAHQAc//oAHUAdf/oAHYAdv/nAHcAdv/nAHgAd//nAHkAeP/nAHoAev/mAHsAe//mAHwAe//mAH0AfP/mAH4Aff/mAH8Af//lAIAAf//lAIEAgP/lAIIAgf/lAIMAg//lAIQAhP/kAIUAhf/kAIYAhf/kAIcAhv/kAIgAiP/kAIkAif/jAIoAif/jAIsAiv/jAIwAjP/jAI0Ajf/jAI4Ajf/iAI8Ajv/iAJAAj//iAJEAkf/iAJIAkf/iAJMAkv/hAJQAk//hAJUAlP/hAJYAlv/hAJcAlv/hAJgAl//gAJkAmP/gAJoAmv/gAJsAmv/gAJwAm//gAJ0AnP/fAJ4Anf/fAJ8An//fAKAAoP/fAKEAoP/eAKIAof/eAKMAo//eAKQApP/eAKUApP/eAKYApf/dAKcApv/dAKgAqP/dAKkAqP/dAKoAqf/dAKsAqv/cAKwAq//cAK0ArP/cAK4Arf/cAK8Arv/cALAAr//bALEAsf/bALIAsf/bALMAsv/bALQAs//bALUAtP/aALYAtf/aALcAtv/aALgAt//aALkAuP/aALoAuv/ZALsAu//ZALwAu//ZAL0AvP/ZAL4Avf/ZAL8Av//YAMAAv//YAMEAwP/YAMIAwf/YAMMAw//YAMQAw//XAMUAxP/XAMYAxf/XAMcAxv/XAMgAx//XAMkAyP/WAMoAyf/WAMsAyv/WAMwAy//WAM0AzP/VAM4Azf/VAM8Azv/VANAAz//VANEA0P/VANIA0f/UANMA0v/UANQA0//UANUA1P/UANYA1v/UANcA1v/TANgA1//TANkA2P/TANoA2v/TANsA2v/TANwA2//SAN0A3P/SAN4A3f/SAN8A3v/SAOAA3//SAOEA4P/RAOIA4f/RAOMA4f/RAOQA4//RAOUA5P/RAOYA5f/QAOcA5f/QAOgA5//QAOkA6P/QAOoA6f/QAOsA6v/PAOwA6v/PAO0A7P/PAO4A7f/PAO8A7v/PAPAA7v/OAPEA8P/OAPIA8f/OAPMA8v/OAPQA8//NAPUA9P/NAPYA9f/NAPcA9v/NAPgA9//NAPkA+P/MAPoA+f/MAPsA+v/MAPwA+//MAP0A/P/MAP4A/P/LAP8A/v/LAAAAGwAAAYAJCgcCAgIEBAYHBgICAgUFAgMCAwYCBgYGBgYEBgYCAgMDAwUIBgYFBwUFBwYCBAYFCAcHBgcGBgUHBggGBgYCAwIEAwMGBgQGBgIGBgICBgIHBgYGBgMFAgYFBwUGBQICAgQCAgQEBgIGBAgFBQgEBQMDAwYFAgIBBQUGBgYFBgYGBgYGBwUFBQUFAgICAgcGBgYGBgYFBwYGBgYGBgYFBQUFBQUHBAUFBQUCAgICBgUFBQUFBQQGBQUFBQUGBQYFBgUGBgUEBQQFBAUEBgYGBgUFBQUFBQUGBQUGBQYFBgUGBQYFBgYCAgICAgICAgICBQQDAgUFBQIFAgUDBQMFAgYFBgUGBQYGBgUGBQYFBggFAwUDBQMGBAYEBgQGBAUCBQMFAwYFBgUGBQYFBgUHBggHBgUGBgUGBQYFBgYEBQICBAQFAgQCBAQIBwgHCAcGBQQHAQICAgICBQUFCgkDAwIDAwMDAwMDBAEEBAQEBAMEBAQICAYGBgYGBgUCBAAKCwgCAgIEBQYHBgICAgUFAgMCAwcCBgYGBgcFBwYCAgQEBAYIBwcFBwUFBwcCBAYFCAcHBwcHBwUHBwkHBwYCAwIEBAMGBwUHBwIHBwICBgIIBwcHBwMGAgcFCAUHBQMCAwUCAgQEBwIGBAkFBgkFBQMDAwcFAgICBQYHBwcFBwcHBwcHCAUFBQUFAgICAgcHBwcHBwcFBwcHBwcHBgcGBgYGBgYJBQYGBgYCAgICBwYGBgYGBgUHBgYGBgYHBgcGBwYGBgUFBQUFBQUFBwcHBwUGBQYFBgUGBQYHBgcGBwYHBgYGBwcCAgICAgICAgICBgQEAgYFBQIFAgUDBQMFAgcGBwYHBgcGBwYHBgcGBwkGAwYDBgMGBQYFBgUGBQUCBQMFAwcGBwYHBgcGBwYHBgkIBwYHBgUGBQYFBwYFBQICBAQFAgQDBAQJCAkICQgHBgUIAQICAwMDBgYFCwoDAwIEAwMDAwQDBQIEBAQEBAMFBAUJCAcHBwcHBwUCBAALDAgDAwIEBQYIBwIDAwYGAgQCAwcDBwYHBwcFBwcCAgQEBAYJBwcGCAYGCAcCBQcGCQgIBwgHBwYIBwoIBwcCAwIEBAQHBwUHBwMHBwICBwIIBwcHBwMGAgcGCQYHBgMCAwUDAgUFBwIGBQkGBgkFBQMDBAgFAgICBgYHBwgFBwcHBwcHCQYGBgYGAgICAggICAgICAgGCAgICAgHBwcGBgYGBgYJBQYGBgYCAgICBwcHBwcHBwUHBwcHBwcHBwcGBwYIBwYFBgUGBQYFCAgIBwYGBgYGBgYHBgYHBwcHBwcHBwcHBwcCAgICAgICAgICBgUEAgYGBgIGAgYDBgMGAggHCAcIBwcGCAcIBwgHCAoGAwYDBgMHBQcFBwUHBQYCBgMGAwgHCAcIBwgHCAcIBwoJBwcHBwYHBgcGBwcFBgICBAQFAgQDBQUKCQoJCgkHBwUJAQICAwMDBgYGDAsDAwIEAwMEAwQEBQIEBAQEBQMFBAUJCQcICAgICAYDBQAMDQkDAwMEBgcJCAIDAwYGAwQDAwgDBwcHBwcGCAcDAwQEBAcKCAcHCAYGCAgCBQcGCgkICAgHCAYICAsICAgDAwMFBQQHBwYHBwMHBwICBwIJBwcHBwMGAwcGCgcHBwMCAwYDAwUFCAIHBQoGBwoGBgQEBAgGAwICBgcICAgGCAgICAgICQcGBgYGAgICAgkICAgICAgGCAgICAgIBwgHBwcHBwcJBgcHBwcCAgICBwcHBwcHBwYHBwcHBwcHBwgHCAcIBwcGBwYHBgcGCAgIBwYHBgcGBwYHBgcIBwgHCAcIBwgHCAcCAgICAgICAgICBwUFAgcGBgIGAgYEBgQGAggHCAcIBwgHCAcIBwgHCQsHAwcDBwMIBggGCAYIBgYDBgMGAwgHCAcIBwgHCAcIBwsKCAcICAcIBwgHCAgGBgMCBQUGAgQDBQULCgsKCwoIBwYJAgICAwMDBwcGDQwDAwIEBAQEAwQEBQIFBAQFBQMFBQYKCggJCAkICAYDBQANDgkDAwMEBgcKCAIDAwcHAwQDBAgDBwcHBwgGCAgDAwUFBQcKCQgHCQcHCQgDBQgHCgkJCAkICAcJCQsJCAgDBAMFBQQICAYICAMICAMDBwMKCAgICAQHAwgHCgcIBwMCAwYDAwYGCQMHBQsGBwsGBgQEBAkGAwMCBgcJCQkGCQkJCQkJCgcHBwcHAwMDAwkJCQkJCQkHCQkJCQkICAgICAgICAgLBggICAgDAwMDCAgICAgICAYICAgICAgICAkICQgJCAcGBwYHBgcGCQkJCAcIBwgHCAcIBwgJCAkICQgJCAgICAgDAwMDAwMDAwMDCAUFAwcHBwMHAwcEBwQHAwkICQgJCAkICQgJCAkICQsHBAcEBwQIBggGCAYIBgcDBwQHBAkICQgJCAkICQgJCAsKCAgICAcIBwgHCQgGBwMDBQUGAwQDBgULCgsKCwoICAYKAgICAwMDCAgHDg0EBAIFBAQEBAUEBQIFBQUFBQQFBQYLCgkJCQkJCQcDBgAPEAsEBAMFBwgLCgMEBAgIAwUDBAkECAgICAkHCQkDAwUFBQgMCgkICggICgkDBggICwoKCQoJCQgKCg0LCgkDBAMGBgUJCQcJCQQJCQMDCAMLCQkJCQQIAwkIDAgJCAQDBAcEAwYHCgMIBgwHCAwHBgUFBQoHAwMCBwgKCgoICgoKCgoKDAgICAgIAwMDAwoKCgoKCgoICgoKCgoKCAkJCQkJCQkLBwkJCQkDAwMDCQkJCQkJCQcJCQkJCQkJCQoJCgkKCQgHCAcIBwgHCgoKCQgJCAkICQgJCAkKCQoJCgkKCQoJCQkDAwMDAwMDAwMDCQYGAwgICAMIAwgFCAUIAwoJCgkKCQoJCgkKCQoJCw0JBAkECQQKBwoHCgcKBwgDCAQIBAoJCgkKCQoJCgkKCQ0MCgkKCQgJCAkICgoHCAMDBgYHAwUEBwYNDA0MDQwKCQcMAgICBAQECQkIEA8EBAMFBQUFBAUFBgIFBQUFBQQGBQcMDAoLCgsLCwgEBwAQEQsEBAQFCAkMCgMEBAgIAwUDBAoECQkJCQkICgkDAwYGBggMCwkJCwgICwoDBgkIDAsLCgsJCgkLCw4LCgoEBQQGBgUJCQcJCQQJCQMDCQMLCQkJCQQIBAkJDQkJCQQDBAgEBAcHCwMIBg0HCQ0HBwUFBQoHAwMCBwkLCwsICwsLCwsLDAkICAgIAwMDAwsLCwsLCwsICwsLCwsKCQoJCQkJCQkNBwkJCQkDAwMDCQoKCgoKCggJCgoKCgoJCgsJCwkKCQkHCQcJBwkHCwsLCQgJCAkICQgJCAkLCgsKCwoLCgoKCgkDAwMDAwMDAwMDCQcGAwkJCAMIAwgFCAUIAwsKCwoLCgsKCwoLCgsKDA4JBAkECQQKCAoICggKCAkECQUJBAsKCwoLCgsKCwoLCQ4NCgoKCgkKCQoJCwoICQQDBwcHAwUEBwcODQ4NDg0KCgcMAgMDBAQECQkIERAFBQMGBQUFBAYFBgIFBQUFBgQGBggNDAsLCwsLCwgEBwAREgwEBAQFCAkNCwMEBAkJBAYEBQoECQkJCQoICgoEBAYGBggNCwoJCwkJCwoDBgkJDQsLCgsKCgkLCw8MCwsEBQQHBgYKCggKCgQKCgQDCQMMCgoKCgUIBAoJDgkKCQUDBQgEBAcICwMJBg4ICg4IBwUFBgwHBAMDCAoLCwwICwsLCwsLDQkJCQkJAwMDAwsMDAwMDAwJCwwMDAwLCQoKCgoKCgoNCAoKCgoDAwMDCgoKCgoKCggKCgoKCgoKCgsKCwoLCgkICQgJCAkIDAwMCgkKCQoJCgkKCQoLCgsKCwoLCgsKCgoDAwMDAwMDBAMDCgcGAwoJCQMJAwkFCQUJAwwKDAoMCgwKDAoMCgwKDA4KBQoFCgULCAsICwgLCAkECQUJBQwKDAoMCgwKDAoLCg8OCwoLCwkLCQsJCwsICQQDBwcHAwUECAcPDg8ODw4LCggNAgMDBAQECgoJEhEFBQMGBQUGBQYFBgMGBQYGBgUGBggODQsMDAwMDAkEBwATFA0FBQQGCQsODAMFBQoKBAcEBQwFCwoLCwwJDAsEBAcHBwoODQwKDQoKDQwEBwsKDw0NDA0MDAoNDRENDAwEBQQIBwYMDAkMDAQMDAQECwQODAwMDAUKBAwKDwoMCgUDBQkFBAgJDQQKCA8JCw8JCAYGBg0JBAMDCQsNDQ0KDQ0NDQ0NDwoKCgoKBAQEBA0NDQ0NDQ0KDQ0NDQ0MCwwLCwsLCwsQCQsLCwsEBAQEDAsLCwsLCwkMCwsLCwsMCw0LDQsNCwoJCgkKCQoJDQ0NDAoLCgsKCwoLCgsNCw0LDQsNCwwLDAwEBAQEBAQEBAQECwgHBAsKCgQKBAoGCgYKBA0LDQsNCw0LDQsNCw0LDhALBQsFCwUMCQwJDAkMCQoECgUKBQ0LDQsNCw0LDQsNCxEPDAsMDAoMCgwKDQwJCgQECAgJBAYFCAgRDxEPEQ8MCwkPAgMDBQUFCwsKFBMFBQMHBgYGBQcGBwMGBgYGBgUHBgkPDg0NDQ0NDQoFCAAVFg4FBQUHCgsQDQMFBQsLBAcEBg0FDAsMDA0KDQwEBAgICAsQDg0LDgsLDg0ECAwLEA4ODQ4NDQsODhIPDg0FBgUICAcMDQoNDQUNDQQEDAQPDQ0NDQYLBQ0LEQwNCwYEBgoFBQkJDgQLCBAKDBAKCAYGBw4JBAQDCgwODg8KDg4ODg4OEAsLCwsLBAQEBA4ODg4ODg4LDg4ODg4ODA0MDAwMDAwSCgwMDAwEBAQEDQ0NDQ0NDQoNDQ0NDQ0MDQ4MDgwODAsKCwoLCgsKDg8ODQsMCwwLDAsMCwwODQ4NDg0ODQ0NDQ0EBAQEBAQEBAQEDAkIBAwLCwQLBAsHCwYLBA4NDg0ODQ4MDg0ODQ4NDxIMBgwGDAYNCg0KDQoNCgsFCwYLBg4NDg0ODQ4NDg0ODBIRDg0ODQsNCw0LDg0KCwUECQkKBAYGCQkSERIREhEODQoQAwMDBgYGDAwLFhUGBgQHBwYHBgcHBwMGBgcGBwYHBwoQEA4PDw8PDwsFCQAYGhAGBgUHDA4SDwQGBgwNBQgFBxAGDQ4ODQ4MEA8FBQkJCQ0TEA8NEQ0MEBAFCg0MExERDxEODw0REBUREA8FBwUKCQgPDwsPDgYPDwUFDQUSDw8PDwcMBQ8NEw0PDQYEBgwGBQoLEAUMCRMLDhMLCgcHCBELBQQECw4QEBEMEBAQEBAQEw0NDQ0NBQUFBREQEBAQEBANERAQEBAQDg8ODg4ODg4TCw4ODg4FBQUFDw4ODg4ODgsPDg4ODg4PDhAOEA4PDw0LDQsNCw0LEBERDw0ODQ4NDg0ODQ4QDhAOEA4QDg8OEA8FBQUFBQUFBQUFDgoJBQ4NDAUMBQwHDAcMBRAOEA4QDhEPEA4QDhAOERQOBw4HDgcPCw8LDwsPCw0FDQcNBhAOEA4QDhAOEA4RDxUTEA4QDw0PDQ8NEA8LDQUFCgoLBAYGCwoVExUTFRMQDgsTAwQEBgYGDg4NGhgHBwQICAcIBwgICAQHBwcHCAcIBwsTEhAREREREQ0GCgAbHRIHBwYIDQ8UEQQHBw4OBgkGCBEHDg8PDhANERAGBgoKCg4VEhAPEw4OEhEGCxAOFRMTEBMPEQ4TEhgTEhEGCAYLCgkQEA0QDwYQEAYGDgYUEBAQEAgNBhAPFg8QDwcFBw0HBgwMEgYOCRUMDxUMCwgICRIMBgQEDA8SEhMNEhISEhISFQ8ODg4OBgYGBhMSEhISEhIOExISEhISEBEQEBAQEBAVDRAQEBAGBgYGEBAQEBAQEA0QEBAQEBAQEBIQEhASEA8NDw0PDQ8NEhMTEA4QDhAOEA4PDhASEBIQEhASEBEQERAGBgYGBgYGBgYGEAsKBg8PDgYOBg4IDggOBhIQEhASEBMQEhASEBIQExcQCBAIEAgRDRENEQ0RDQ4GDggOBxIQEhASEBIQEhATEBgWEhASEQ8RDxEPEhENDgYGCwsMBAcHDAsYFhgWGBYSEA0VBAQEBwcHEBAOHRsICAUJCAgJCAkJCQQICAgICAgJCA0VFRITExMTEw4HDAAdHxMHBwcIDhAWEwQHBw8PBgoGCBIHEBAQEBEOEhEGBgsLCw8WExEQFA8PFBIGCxAPFhQUERQQEg8UExoUExIGCAYMCwoREQ0REAcREQYGDwYVEREREQgOBhEQFxAREAgFCA4HBwwNFAYPChYNEBYNCwkJChMNBgQEDRATExQOExMTExMTFxAPDw8PBgYGBhQUFBQUFBQPFBQUFBQTERIREREREREXDREREREGBgYGEREREREREQ4RERERERERERMRExETERANEA0QDRANFBQUEQ8RDxEPEQ8QDxEUERQRFBEUERMREhEGBgYGBgYGBgYGEQwLBhAQDwYPBg8JDwkPBhQRFBEUERQSFBEUERQRFRgRCBEIEQgSDhIOEg4SDg8GDwgPCBQRFBEUERQRFBEUERoXExETEhASEBIQExIODwYGDAwMBAcIDQwaFxoXGhcTEQ4XBAQECAgIEREPHx0ICAUKCQkJCAoJCQQICAgICQgJCA4WFhMVFBUUFA8HDQAgIhYICAcKEBIYFAUICBARBwsHCRUIEhISEhQQ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KB8eJyYMFyEeLSkoIyghJR8oJzMpJiQNEA0XFhMjIxsjIg4jIwwMIAwrIyMjIxAcDSMfLyAjIA8KDx0ODRkaJwwfFS0ZIS0bGBESEygbDAkJGiEnJygeJycnJycnLSAfHx8fDAwMDCkoKCgoKCgeKCgoKCgmIiQiIiIiIiIwGyIiIiIMDAwMIyMjIyMjIxwjIyMjIyMjIyciJyImIyAbIBsgGyAbKCgoIx8iHyIfIh8iHyInIycjJyMnIyUjJiMMDAwMDAwMDAwMIhgWDCEfHgweDB4SHhIeDCgjKCMoIygjKCMoIygjKjIhECEQIRAlHCUcJRwlHB8NHxEfDigjKCMoIygjKCMoIzMvJiMmJCAkICQgJyUcHw0MGBgXCQ8PGhgzLzMvMy8mIxstCAcHDw8PIiIePjsQEAoUEhETEBQTFQkREhIREhAVExstKycpKCkpKR4OGQBDRywQEA8UISUyKwoQECIjDhcOEyoQJCQmJCchKicODhgYGCIzLSclLSMiLSoOGSYiMy0tKC0mKiQtLTsvLCoPEw8bGRYnJx8nJhAnJw4OJA4wJycnJxMgDyckNiUnJRIMEiEQDx0eLQ4jGDMcJjMfGxQUFi4eDgoKHSYtLS4iLS0tLS0tNCUjIyMjDg4ODi4uLi4uLi4jLS4uLi4sJiooKCgoKCg0HycnJycODg4OJygoKCgoKCAnKCgoKCgnKC0oLSgtJyUfJR8lHyUfLi8uJyMnIycjJyMnIyctKC0oLSgtKCsoKicODg4ODg4ODg4OJxwZDiYkIg4iDiIVIhUiDi4oLiguKC4oLiguKC4oMDknEycTJxMrICsgKyArICQPJBMkEC4oLiguKC4oLigtKDs2LCgsKiUqJSolLSsgJA8OGxsaChESHhw7Njs2OzYsKB80CQgIEhISJycjR0QTEwwXFRQWExcWGAoVFRUVFhMYFiAzMi0vLzAvLyMQHQBLUDISEhEWJSo4MAsSEicnEBoQFTASKSoqKSwlMCwQEBsbGyc6Mi0pNCgnMzAPHSomOjQ0LTQrLyg0MkI1MS8QFRAeHBktLSMtLBEtLQ8PKQ83LS0tLRUkES0pPSktKRQNFCUSESAiMw8oHDkiKjkjHxcXGTMiEAwLIyoyMjQlMjIyMjIyOikoKCgoDw8PDzQzMzMzMzMnNDMzMzMxKy4sLCwsLCw9IywsLCwP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uAAK0LgACi+5AAMAEvS4ABAQuQATABL0uAAW0LgAFi+4ABAQuAAX0LgAExC4ABvcALgAAEVYuAAHLxu5AAcAFj5ZuwAZAAkAFgAEK7sADQAHAAAABCu4AAcQuQAFAAf0MDETIh0BFDMhFSEiPQE0OwEyPQEzFRQjEyM1M8NGRgEU/uyUlCtFTpOUT08BMUZXRk6UV5NGeXmTAVJX//8ACQAAApUD4wImACMAAAAHAEIAjADa//8ACQAAApUD4wImACMAAAAHAHEAyADa//8ACQAAApUD4wImACMAAAAHAUAAgwDa//8ACQAAApUDtgImACMAAAAHAUYAcgDa//8ACQAAApUDqAImACMAAAAHAGgAmQDa//8ACQAAApUD4wImACMAAAAHAUQAzwDaAAL//QAAAuAC2gACABIAbbsADAASAAAABCu4AAAQuAAD0LgADBC4AA/QALgAAEVYuAADLxu5AAMAFj5ZuAAARVi4AAYvG7kABgAWPlm7AAkABwAKAAQruwAAAAcABAAEK7gAABC4AAzQuAAEELgADtC4AAMQuQAQAAf0MDEBNQcTESMDIwEhFSMRMxUjFTMVAZV8fKeWWwGhAUL8/Pz8AVLX1/6uAQX++wLaT/7HTbdOAAAA//8AQP8zAfoC2gImACUAAAAHAHUA4QAA//8AQAAAAekD4wImACcAAAAHAEIAUADa//8AQAAAAekD4wImACcAAAAHAHEAjADa//8AQAAAAekD4wImACcAAAAHAUAARgDa//8AQAAAAekDqAImACcAAAAHAGgAXADa////ygAAAMkD4wImACsAAAAHAEL/pQDa//8ABgAAAQUD4wImACsAAAAHAHH/4QDa////wQAAAQ8D4wImACsAAAAHAUD/nADa////1wAAAPkDqAImACsAAAAHAGj/sgDaAAEACQAAAnEC2gAZAJO4ABovuAANL7gAGhC4AAHQuAABL7gADRC5AAYAEvS4AAEQuQASABL0uAAV0LgAARC4ABfQuAAGELgAG9wAuAAARVi4AAgvG7kACAAWPlm4AABFWLgAFi8buQAWABY+WbsAAwAHABAABCu7ABMABwAUAAQruAATELgAANC4ABYQuQAKAAf0uAAL0LgAFBC4ABjQMDETMxEhMhURFCMhNSEyNRE0IyEVMxUjESMRIwk7AZmUlP7qARZGRv62cnJP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/+QA2v//AAYAAAEFA+MCJgBOAAAABwBx/+EA2v//AED/MwHpAtoCJgAuAAAABwB1AMoAAP//AD//MwCSAtoCJgBOAAAABgB1GgAAAP//AEAAAAHpAzACJgAuAAAABwFTARoAV///AEAAAAEuAtoAJgBOAAAABwFTAMEAAf//AEAAAAHpAtoCJgAuAAAABwFDAOb+3f//AEAAAAEoAtoAJgBOAAAABwFDAKr+ywAB/9kAAAHpAtoADQBMuwACABIABQAEK7gABRC4AAnQuAACELgAC9AAuAAKL7gAAEVYuAAELxu5AAQAFj5ZuQACAAf0ugAGAAQAChESOboADAAEAAoREjkwMRMHESEVIREHJzcRMxE3/W4BWv5XNjFnTz0Brlr++k4BGCs9UwFd/uEzAAAB/9QAAAD5AtoACwBGuwACABIAAwAEK7gAAxC4AAfQuAACELgACdAAuAAIL7gAAEVYuAACLxu5AAIAFj5ZugAEAAIACBESOboACgACAAgREjkwMRMHESMRByc3ETMVN/lrTjoybE46AdpV/nsBRi49VQEw8S8AAP//AEAAAAJsA+MCJgAwAAAABwBxAM8A2v//AEAAAAIVAwkCJgBQAAAABwBxAJoAAP//AED/MwJsAtoCJgAwAAAABwB1AQcAAP//AED/MwIVAgACJgBQAAAABwB1ANwAAP//AEAAAAJsA+MCJgAwAAAABwFBAIoA2v//AEAAAAIVAwkCJgBQAAAABgFBVAAAAAABAED/MwJsAtoADwBkuwAGABIABwAEK7sADQAOAAAABCu4AA0QuQADABL0uAAK0LgADRC4ABHcALgACC+4AAsvuAAARVi4AAYvG7kABgAWPlm7AAAABwAPAAQrugAFAAYACBESOboACgAGAAgREjkwMQUyNj0BAREjETMBETMRFCMBxysu/mtLRQGbTKWAIyNEAkf9rwLa/asCVfzskwAAAQBA/zMCFQIAAA8ATrsABwASAAgABCu7AA0ADgAAAAQruAANELkAAgAS9LgADRC4ABHcALgAAEVYuAAHLxu5AAcAFj5ZuwAAAAcADwAEK7sACgAHAAUABCswMQUyNRE0KwERIxEhMhURFCMBcFdG804BQZSlgEYBp0X+TgIAk/5ZkwD//wBAAAACbAOxAiYAMQAAAAcAbQBvANr//wBAAAACFQLXAiYAUQAAAAYAbUMAAAD//wBAAAACbAPjAiYAMQAAAAcBQgCIANr//wBAAAACFQMJAiYAUQAAAAYBQlwAAAD//wBAAAACbAPjAiYAMQAAAAcBRwClANr//wBAAAACFQMJAiYAUQAAAAYBR3oAAAAAAgBAAAACqALaAAsAJQC5uAAmL7gAAi+4ACYQuAAM0LgADC+5AAgAEvS4AAIQuAAS0LgAAhC5ABsAEvS4ABbQuAAWL7gAAhC4AB7QugAfAAwAFhESOQC4AABFWLgAHS8buQAdABY+WbgAAEVYuAAiLxu5ACIAFj5ZuwAPAAcABQAEK7sAGAAHABkABCu4ACIQuQAAAAf0ugASAAUADxESObgADxC4ABPQuAAFELgAFdC4AAAQuAAb0LgAHNC6AB8AIgAAERI5MDElMjcRJisBIhURFDMDNDsBMhYXNSEVIxUzFSMRMxUhNQ4BKwEiNQEqPQgIPVdFRZOTVxQjDgE56+vs7P7HDiMUV5NONQHSNkX+TkYB+JQGCA5P4k3+8k4OBgiUAAIAQAAAAyICAAAMADQAhbsACgASABYABCu7ADEAEgADAAQruwAiABIAKQAEK7gAIhC4ADbcALgAAEVYuAAOLxu5AA4AFj5ZuAAARVi4ABMvG7kAEwAWPlm7ABoABwAGAAQruwAnAAcAJAAEK7gAExC5AAAAB/S4AA3QuAAaELgAHtC4AAYQuAAs0LgADRC4ADTQMDElMjY9ATQrASIdARQzIRUjIicGKwEiPQE0OwEyFzY7ATIdARQrATUzMj0BNCsBIgYdARQWMwFEISRFcUVFAiPZRicmRnGTk3FIJCRJcZSUiYlGRnEgJicfTiMj2UVF2UZOKSmU2ZMqKo8Gkk5EBUIiJNcjJAAAAP//AEAAAAIoA+MCJgA0AAAABwBxAI8A2v//AD0AAAE8AwkCJgBUAAAABgBxGAAAAP//AED/MwIoAtoCJgA0AAAABwB1ANsAAP//AED/MwEQAgACJgBUAAAABgB1HAAAAP//AEAAAAIoA+MCJgA0AAAABwFBAFMA2v//AAMAAAFRAwkCJgBUAAAABgFB3gAAAP//ADsAAAJCA+MCJgA1AAAABwBxALcA2v//ADAAAAG+AwkCJgBVAAAABgBxaAAAAP//ADsAAAJCA+MCJgA1AAAABwFAAHIA2v//ADAAAAG+AwkCJgBVAAAABgFAIgAAAP//ADv/MwJCAtoCJgA1AAAABwB1AO8AAP//ADD/MwG+AgACJgBVAAAABwB1AKAAAP//ADsAAAJCA+MCJgA1AAAABwFBAHcA2v//ADAAAAG+AwkCJgBVAAAABgFBIgAAAP//ABH/MwILAtoCJgA2AAAABwB1AMYAAP//ABv/MwDtAtoCJgBWAAAABgB1IAAAAP//ABEAAAILA+MCJgA2AAAABwFBAD8A2v//ABsAAAEfAtoAJgBWAAAABwFTALIAAQABABEAAAILAtoADwBauwAIABIAAQAEK7gACBC4AAvQuAABELgADdAAuAAARVi4AAwvG7kADAAWPlm7AAQABwADAAQruwAJAAcACgAEK7gACRC4AADQuAADELgABtC4AAoQuAAO0DAxEzMRIzUhFSMRMxUjESMRI4tf2QH602JiTl8BgQEKT0/+9k7+zQEzAAABABsAAADtAtoAEwCYugANAAMAAyu4AAMQuAAA0LgAAC+6AAEAAwANERI5uAABL7gABdC4AAEQuQAMABL0uAAH0LgADBC4AA/QuAABELgAEdC4AA0QuAAV3AC4AAYvuAAARVi4ABAvG7kAEAAWPlm7AA0ABwAOAAQruwAFAAcAAgAEK7gADRC4AADQuAAFELgACNC4AAIQuAAK0LgADhC4ABLQMDETMzUjNTM1MxUzFSMVMxUjFSM1IyIiKSlOW1tMTE4iAQ+jTtraTqNOwcH//wBAAAACbAO2AiYANwAAAAcBRgB5ANr//wBAAAACFQLcAiYAVwAAAAYBRk4AAAD//wBAAAACbAOxAiYANwAAAAcAbQBvANr//wBAAAACFQLXAiYAVwAAAAYAbUMAAAD//wBAAAACbAPjAiYANwAAAAcBQgCIANr//wBAAAACFQMJAiYAVwAAAAYBQlwAAAD//wBAAAACbAPjAiYANwAAAAcBRADWANr//wBAAAACFQMJAiYAVwAAAAcBRACqAAD//wBAAAACbAPjAiYANwAAAAcBRwClANr//wBAAAACFQMJAiYAVwAAAAYBR3oAAAAAAQBA/zMCbALaAB4A2LsAGQASABYABCu7AAgAFQAPAAQruwABABIAAAAEK0EPAJYACACmAAgAtgAIAMYACADWAAgA5gAIAPYACAAHXUEZAAYACAAWAAgAJgAIADYACABGAAgAVgAIAGYACAB2AAgA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HyAPLwABACUCdgGUAtwAFwArALsAFAAIAAMABCu7AA8ACAAIAAQrugALAAMAFBESOboAFwAIAA8REjkwMQEOASMiLgIjIgYHJz4BMzIeAjMyNjcBlBAzHxotKCcVFRoKKRQ3FxosKScVFRkLArEdHg4QDhQUJyMYDhAOFBQAAAAAAgAlAlMBeAMJAAMABwATALgAAC+4AAQvuAACL7gABi8wMQEjNzMFIzczASA3TEP+5DdNQwJTtra2AAD//wAJAAADZwPjAiYAOQAAAAcAQgD1ANr//wAJAAADHgMJAiYAWQAAAAcAQgDRAAD//wAJAAADZwPjAiYAOQAAAAcAcQExANr//wAJAAADHgMJAiYAWQAAAAcAcQENAAD//wAJAAADZwOoAiYAOQAAAAcAaAECANr//wAJAAADHgLOAiYAWQAAAAcAaADdAAD////9AAACjQPjAiYAOwAAAAcAQgCCANr//wBA/1MCFQMJAiYAWwAAAAYAQmgAAAAAAQAuANkBpgEnAAMADQC7AAEABwACAAQrMDETIRUhLgF4/ogBJ04AAAEALgDaAtsBJwADAA0AuwABAAcAAgAEKzAxEyEVIS4Crf1TASdNAAABABYCOQBtAuIABgAVuwAAAAwAAQAEKwC4AAMvuAAALzAxEyM1NzMHM21XGSgQJgI5UldRAAAAAAEAFgIvAG0C2QAGAB27AAEADAAAAAQruAABELgACNwAuAAAL7gAAy8wMRMzFQcjNyMWVxgoECcC2VNXUgAAAAABABb/rwBtAFgABgA/uwABAAwAAAAEK7gAARC4AAjcALgAAC+4AAMvuAAARVi4AAIvG7kAAgAWPlm4AABFWLgABS8buQAFABY+WTAxNzMVByM3IxZXGCgQJ1hSV1EAAP//ABYCOQDwAuIAJgFSAAAABwFSAIMAAP//ABYCLwDwAtkAJgFTAAAABwFTAIMAAP//ABb/rwDwAFgAJgFUAAAABwFUAIMAAAABAED/jAIIA1sACQAfALgAAy+4AAgvugABAAgAAxESOboABgAIAAMREjkwMRMnNxMzExcHAyPoqKkrICupqCsiAeI5OAEI/vg4Of2qAAAAAAEAQP+wAgwDVQATAEW7AAQADgANAAQruAAEELgAANC4AAAvuAAEELgAB9C4AAcvuAANELgACtC4AAovuAANELgAEdC4ABEv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AUYB5gGUAAMADQC7AAEABwACAAQrMDETIRUhNAGy/k4BlE4AAAAAVgBWAFYAhAC6AUgB2gHsAlgCdgLMAyIDagOeA8oD3gP8BBgEZASOBOIFNgV+BdAGJAZGBsAHGAdKB4YHoge+B9oIOAi+CPAJWgmOCeIKHApOCqAK7gsMCzYLlAu4DCAMbgy8DQANZA3EDhgOQg6CDqgO7A8qD14Pig+sD8YP4hACEBYQKhB8EMQQ9hFAEZYRzhIgEmgSnBLSEzITUBOkE+oUNBR8FMYU7BVoFaQV5BYKFk4WfhbMFvYXOhdSF5AXxhfGF/QYahi2GQoZMBnWGgoadhrCGs4bXBtwHAwcFhwgHDQcmhzgHPgdFh0gHWIdbh2AHZIdpB4AHgweGB4kHjAePB5IHqIerh66HsYe0h7eHuoe9h8CHw4ffh+KH5Yfoh+uH7ofxh/qIFAgXCBoIHQggCCMIN4hRiFSIV4haiF2IYIhjiJoInQigCKMIpgipCKwIrwiyCLUIx4jKiM2I0IjTiNaI2YjnCQEJBAkHCQoJDQkQCSUJKAkrCS4JMQk0CVgJgAmDCYYJiQmMCY8JkgmVCZgJmwmeCaAJuYm8ib+JwonFiciJy4n0Ch+KIooliiiKK4ouijGKNIo3ijqKPgpBCkQKXIp2inmKfIp/ioKKhYqIiqqK0YrUitwK3wriCuUK6ArrCu4K8Qr0CvcK+gr9CwALAwsGCxaLJYsoiyuLLosxizSLN4tLi1wLXwtiC2ULaAtrC24Lkou0C7cLugu9C8ALwwvGC8kLzAvPC9IL1QvYC9sL3gvhC+QL5wvqC/wMFgwZDBwMHwwiDCUMKAwrDC4MMQw0DFoMfYyAjIOMhoyJjIyMj4ySjJWMmIybjJ6MqgytDLAMswy2DL8MxozODN4M5Q0MDSONMw06jT2NQI1DjUaNSY1MjU+NUo1XjVyNY41rjXeNeo19jYCNio2cDaENpQ2qjbGNuI2/DcGNxA3GjckNy43ODdCN4Q3oDfoODA4bji2OP45GDmcOeg6VjrOOyY7ODtKO1w7bjuAO5I7pjumO6Y7pgAAAAAAAQAAItwAAQXNGAAACgrOAAQAI/+cAAQALP+5AAQAff+cAAQAfv+cAAQAf/+cAAQAgP+cAAQAgf+cAAQAgv+cAAQBOv+cAAkAI/+cAAkALP+5AAkAff+cAAkAfv+cAAkAf/+cAAkAgP+cAAkAgf+cAAkAgv+cAAkBOv+cAA4ABP/GAA4ACf/GAA4AC//GAA4AE//VAA4ANv9/AA4AOP9/AA4AOf9/AA4AO/9/AA4AWP+rAA4AWf+rAA4BM/9/AA4BUv/GAA4BU//GAA4BVf/GAA4BVv/GAA8AI//VAA8ANv9xAA8AOP+cAA8AOf+cAA8AOv+bAA8AO/9wAA8Aff/VAA8Afv/VAA8Af//VAA8AgP/VAA8Agf/VAA8Agv/VAA8BM/9wAA8BOv/VABAABP/GABAACf/GABAAC//GABAAE//VABAANv9/ABAAOP9/ABAAOf9/ABAAO/9/ABAAWP+rABAAWf+rABABM/9/ABABUv/GABABU//GABABVf/GABABVv/GABEAI/+cABEAJf/kABEALP+qABEAQ/+5ABEARf+cABEARv+qABEAR/+5ABEASf/GABEAT//VABEAUP/VABEAUf+5ABEAUv/HABEAU//GABEAVP+5ABEAVf+5ABEAV//GABEAWv+4ABEAW//GABEAXP+5ABEAff+cABEAfv+cABEAf/+cABEAgP+cABEAgf+cABEAgv+cABEAnf+5ABEAnv+5ABEAn/+5ABEAoP+5ABEAof+5ABEAov+5ABEAo/+5ABEApf+5ABEApv+5ABEAp/+5ABEAqP+5ABEAr/+5ABEAsP+5ABEAsf+5ABEAsv+5ABEAs/+5ABEAtf+5ABEAtv/GABEAt//GABEAuP/GABEAuf/GABEAvP/GABEBDv+5ABEBOv+cABIALP/kABIAOP/VABIAOf/VABIAOv/sABIAO//kABIBM//kABkADv9/ABkAEP9/ABkAFP/kABkAFv+bABkBVP9/ABkBV/9/ABkBW/9/ACMABP+5ACMACf+5ACMAD//QACMAEv/jACMAJf/kACMAKf/jACMAMf/jACMAM//jACMANv+OACMAOP+OACMAOf+OACMAO/9wACMAQ//sACMARP/3ACMARv/tACMAR//sACMASf/jACMAUf/sACMAU//jACMAV//sACMAWP++ACMAWf++ACMAW//sACMAa//QACMAeP/QACMAj//jACMAkP/jACMAkf/jACMAkv/jACMAk//jACMAlf/jACMAnf/sACMAnv/sACMAn//sACMAoP/sACMAof/sACMAov/sACMAo//sACMApf/sACMApv/sACMAp//sACMAqP/sACMAr//sACMAsP/sACMAsf/sACMAsv/sACMAs//sACMAtf/sACMAtv/sACMAt//sACMAuP/sACMAuf/sACMAvP/sACMBDv/sACMBM/9wACMBUP/QACMBUf/QACMBUv+5ACMBU/+5ACMBVf+5ACMBVv+5ACMBXf/QACMBXv/QACQAEf/kACQAI//VACQAOP/VACQAOf/VACQAO//VACQAff/VACQAfv/VACQAf//VACQAgP/VACQAgf/VACQAgv/VACQBM//VACQBOv/VACUAD//VACUAa//VACUAeP/VACUBUP/VACUBUf/VACUBXf/VACUBXv/VACYAEf/kACYAI//VACYAOP/VACYAOf/VACYAO//VACYAff/VACYAfv/VACYAf//VACYAgP/VACYAgf/VACYAgv/VACYBM//VACYBOv/VACgADv9VACgAD//HACgAEP9VACgAEf+5ACgAI/+OACgALP+AACgAOP/xACgAOf/xACgAO//xACgAa//HACgAeP/HACgAff+OACgAfv+OACgAf/+OACgAgP+OACgAgf+OACgAgv+OACgBM//xACgBOv+OACgBUP/HACgBUf/HACgBVP9VACgBV/9VACgBW/9VACgBXf/HACgBXv/HACkALP/kACkAOP/VACkAOf/VACkAOv/sACkAO//kACkBM//kAC0AO//xAC0BM//xAC4ABP+OAC4ACf+OAC4AD/+qAC4ANv+OAC4AN//kAC4AOP9wAC4AOf9wAC4AO/+AAC4Aa/+qAC4AeP+qAC4Alv/kAC4Al//kAC4AmP/kAC4Amf/kAC4BM/+AAC4BUP+qAC4BUf+qAC4BUv+OAC4BU/+OAC4BVf+OAC4BVv+OAC4BXf+qAC4BXv+qADEALP/kADEAOP/VADEAOf/VADEAOv/sADEAO//kADEBM//kADIADv9VADIAD//HADIAEP9VADIAEf+5ADIAI/+OADIALP+AADIAOP/xADIAOf/xADIAO//xADIAa//HADIAeP/HADIAff+OADIAfv+OADIAf/+OADIAgP+OADIAgf+OADIAgv+OADIBM//xADIBOv+OADIBUP/HADIBUf/HADIBVP9VADIBV/9VADIBW/9VADIBXf/HADIBXv/HADMALP/kADMAOP/VADMAOf/VADMAOv/sADMAO//kADMBM//kADQAD//QADQAOP/yADQAOf/yADQAa//QADQAeP/QADQBUP/QADQBUf/QADQBXf/QADQBXv/QADUAI//kADUAOP/VADUAOf/VADUAO//VADUAff/kADUAfv/kADUAf//kADUAgP/kADUAgf/kADUAgv/kADUBM//VADUBOv/kADYADv+bADYAD/+qADYAEP+bADYAEf+qADYAI/+5ADYALP+rADYAQ/+XADYARv+hADYAR/+XADYAUf+XADYAVP+qADYAVf+hADYAV/+hADYAWP++ADYAWf++ADYAWv++ADYAW/+hADYAXP/HADYAa/+qADYAeP+qADYAff+5ADYAfv+5ADYAf/+5ADYAgP+5ADYAgf+5ADYAgv+5ADYAnf+XADYAnv+XADYAn/+XADYAoP+XADYAof+XADYAov+XADYAo/+XADYApf+XADYApv+XADYAp/+XADYAqP+XADYAr/+XADYAsP+XADYAsf+XADYAsv+XADYAs/+XADYAtf+XADYAtv+hADYAt/+hADYAuP+hADYAuf+hADYAvP+hADYBDv+XADYBOv+5ADYBUP+qADYBUf+qADYBVP+bADYBV/+bADYBW/+bADYBXf+qADYBXv+qADgADv+qADgAD/+OADgAEP+qADgAEf+cADgAEv/kADgAI/+AADgAJf/jADgAKf/kADgALP+cADgAMf/kADgAM//kADgAQ/++ADgAR/++ADgAUf++ADgAUv+0ADgAVf+0ADgAa/+OADgAeP+OADgAff+AADgAfv+AADgAf/+AADgAgP+AADgAgf+AADgAgv+AADgAj//kADgAkP/kADgAkf/kADgAkv/kADgAk//kADgAlf/kADgAnf++ADgAnv++ADgAn/++ADgAoP++ADgAof++ADgAov++ADgAo/++ADgApf++ADgApv++ADgAp/++ADgAqP++ADgAr/++ADgAsP++ADgAsf++ADgAsv++ADgAs/++ADgAtf++ADgBDv++ADgBOv+AADgBUP+OADgBUf+OADgBVP+qADgBV/+qADgBW/+qADgBXf+OADgBXv+OADkADv+qADkAD/+OADkAEP+qADkAEf+cADkAEv/kADkAI/+AADkAJf/jADkAKf/kADkALP+cADkAMf/kADkAM//kADkAQ/++ADkAR/++ADkAUf++ADkAUv+0ADkAVf+0ADkAa/+OADkAeP+OADkAff+AADkAfv+AADkAf/+AADkAgP+AADkAgf+AADkAgv+AADkAj//kADkAkP/kADkAkf/kADkAkv/kADkAk//kADkAlf/kADkAnf++ADkAnv++ADkAn/++ADkAoP++ADkAof++ADkAov++ADkAo/++ADkApf++ADkApv++ADkAp/++ADkAqP++ADkAr/++ADkAsP++ADkAsf++ADkAsv++ADkAs/++ADkAtf++ADkBDv++ADkBOv+AADkBUP+OADkBUf+OADkBVP+qADkBV/+qADkBW/+qADkBXf+OADkBXv+OADoAD/+cADoAQ//kADoAR//kADoAUf/kADoAa/+cADoAeP+cADoAnf/kADoAnv/kADoAn//kADoAoP/kADoAof/kADoAov/kADoAo//kADoApf/kADoApv/kADoAp//kADoAqP/kADoAr//kADoAsP/kADoAsf/kADoAsv/kADoAs//kADoAtf/kADoBDv/kADoBUP+cADoBUf+cADoBXf+cADoBXv+cADsADv+OADsAD/9/ADsAEP+OADsAEf9/ADsAEv/kADsAI/9xADsAKf/kADsALP+OADsAMf/kADsAM//kADsANf/sADsAQ/+YADsAR/+YADsAUf+YADsAUv+XADsAVf+rADsAV//GADsAW//GADsAa/9/ADsAeP9/ADsAff9xADsAfv9xADsAf/9xADsAgP9xADsAgf9xADsAgv9xADsAj//kADsAkP/kADsAkf/kADsAkv/kADsAk//kADsAlf/kADsAnf+YADsAnv+YADsAn/+YADsAoP+YADsAof+YADsAov+YADsAo/+YADsApf+YADsApv+YADsAp/+YADsAqP+YADsAr/+YADsAsP+YADsAsf+YADsAsv+YADsAs/+YADsAtf+YADsAtv/GADsAt//GADsAuP/GADsAuf/GADsAvP/GADsBDv+YADsBOv9xADsBUP9/ADsBUf9/ADsBVP+OADsBV/+OADsBW/+OADsBXf9/ADsBXv9/AEMAEf/kAEMAVv/yAEMAWP/kAEMAWf/kAEcAEf/kAEcAVv/yAEcAWP/kAEcAWf/kAEgADv/jAEgAEP/jAEgBVP/jAEgBV//jAEgBW//jAEkAWP/kAEkAWf/kAEoAVv/yAE0AWP++AE0AWf++AFEAEf/kAFEAVv/yAFEAWP/kAFEAWf/kAFMAWP/kAFMAWf/kAFQADv+1AFQAEP+1AFQAVgAUAFQBVP+1AFQBV/+1AFQBW/+1AFUAWP/3AFUAWf/3AFYAVgAmAFYAXAAJAFcAEf/kAFgADv+hAFgAEP+hAFgAEf/HAFgAQ//sAFgAR//sAFgAUf/sAFgAVf/2AFgAnf/sAFgAnv/sAFgAn//sAFgAoP/sAFgAof/sAFgAov/sAFgAo//sAFgApf/sAFgApv/sAFgAp//sAFgAqP/sAFgAr//sAFgAsP/sAFgAsf/sAFgAsv/sAFgAs//sAFgAtf/sAFgBDv/sAFgBVP+hAFgBV/+hAFgBW/+hAFkADv+hAFkAEP+hAFkAEf/HAFkAQ//sAFkAR//sAFkAUf/sAFkAVf/2AFkAnf/sAFkAnv/sAFkAn//sAFkAoP/sAFkAof/sAFkAov/sAFkAo//sAFkApf/sAFkApv/sAFkAp//sAFkAqP/sAFkAr//sAFkAsP/sAFkAsf/sAFkAsv/sAFkAs//sAFkAtf/sAFkBDv/sAFkBVP+hAFkBV/+hAFkBW/+hAFsAEf/kAGsAI//VAGsANv9xAGsAOP+cAGsAOf+cAGsAOv+bAGsAO/9wAGsAff/VAGsAfv/VAGsAf//VAGsAgP/VAGsAgf/VAGsAgv/VAGsBM/9wAGsBOv/VAHQABP/GAHQACf/GAHQAC//GAHQAE//VAHQANv9/AHQAOP9/AHQAOf9/AHQAO/9/AHQAWP+rAHQAWf+rAHQBM/9/AHQBUv/GAHQBU//GAHQBVf/GAHQBVv/GAHgAI//VAHgANv9xAHgAOP+cAHgAOf+cAHgAOv+bAHgAO/9wAHgAff/VAHgAfv/VAHgAf//VAHgAgP/VAHgAgf/VAHgAgv/VAHgBM/9wAHgBOv/VAH0ABP+5AH0ACf+5AH0AD//QAH0AEv/jAH0AJf/kAH0AKf/jAH0AMf/jAH0AM//jAH0ANv+OAH0AOP+OAH0AOf+OAH0AO/9wAH0AQ//sAH0ARP/3AH0ARv/tAH0AR//sAH0ASf/jAH0AUf/sAH0AU//jAH0AV//sAH0AWP++AH0AWf++AH0AW//sAH0Aa//QAH0AeP/QAH0Aj//jAH0AkP/jAH0Akf/jAH0Akv/jAH0Ak//jAH0Alf/jAH0Anf/sAH0Anv/sAH0An//sAH0AoP/sAH0Aof/sAH0Aov/sAH0Ao//sAH0Apf/sAH0Apv/sAH0Ap//sAH0AqP/sAH0Ar//sAH0AsP/sAH0Asf/sAH0Asv/sAH0As//sAH0Atf/sAH0Atv/sAH0At//sAH0AuP/sAH0Auf/sAH0AvP/sAH0BDv/sAH0BM/9wAH0BUP/QAH0BUf/QAH0BUv+5AH0BU/+5AH0BVf+5AH0BVv+5AH0BXf/QAH0BXv/QAH4ABP+5AH4ACf+5AH4AD//QAH4AEv/jAH4AJf/kAH4AKf/jAH4AMf/jAH4AM//jAH4ANv+OAH4AOP+OAH4AOf+OAH4AO/9wAH4AQ//sAH4ARP/3AH4ARv/tAH4AR//sAH4ASf/jAH4AUf/sAH4AU//jAH4AV//sAH4AWP++AH4AWf++AH4AW//sAH4Aa//QAH4AeP/QAH4Aj//jAH4AkP/jAH4Akf/jAH4Akv/jAH4Ak//jAH4Alf/jAH4Anf/sAH4Anv/sAH4An//sAH4AoP/sAH4Aof/sAH4Aov/sAH4Ao//sAH4Apf/sAH4Apv/sAH4Ap//sAH4AqP/sAH4Ar//sAH4AsP/sAH4Asf/sAH4Asv/sAH4As//sAH4Atf/sAH4Atv/sAH4At//sAH4AuP/sAH4Auf/sAH4AvP/sAH4BDv/sAH4BM/9wAH4BUP/QAH4BUf/QAH4BUv+5AH4BU/+5AH4BVf+5AH4BVv+5AH4BXf/QAH4BXv/QAH8ABP+5AH8ACf+5AH8AD//QAH8AEv/jAH8AJf/kAH8AKf/jAH8AMf/jAH8AM//jAH8ANv+OAH8AOP+OAH8AOf+OAH8AO/9wAH8AQ//sAH8ARP/3AH8ARv/tAH8AR//sAH8ASf/jAH8AUf/sAH8AU//jAH8AV//sAH8AWP++AH8AWf++AH8AW//sAH8Aa//QAH8AeP/QAH8Aj//jAH8AkP/jAH8Akf/jAH8Akv/jAH8Ak//jAH8Alf/jAH8Anf/sAH8Anv/sAH8An//sAH8AoP/sAH8Aof/sAH8Aov/sAH8Ao//sAH8Apf/sAH8Apv/sAH8Ap//sAH8AqP/sAH8Ar//sAH8AsP/sAH8Asf/sAH8Asv/sAH8As//sAH8Atf/sAH8Atv/sAH8At//sAH8AuP/sAH8Auf/sAH8AvP/sAH8BDv/sAH8BM/9wAH8BUP/QAH8BUf/QAH8BUv+5AH8BU/+5AH8BVf+5AH8BVv+5AH8BXf/QAH8BXv/QAIAABP+5AIAACf+5AIAAD//QAIAAEv/jAIAAJf/kAIAAKf/jAIAAMf/jAIAAM//jAIAANv+OAIAAOP+OAIAAOf+OAIAAO/9wAIAAQ//sAIAARP/3AIAARv/tAIAAR//sAIAASf/jAIAAUf/sAIAAU//jAIAAV//sAIAAWP++AIAAWf++AIAAW//sAIAAa//QAIAAeP/QAIAAj//jAIAAkP/jAIAAkf/jAIAAkv/jAIAAk//jAIAAlf/jAIAAnf/sAIAAnv/sAIAAn//sAIAAoP/sAIAAof/sAIAAov/sAIAAo//sAIAApf/sAIAApv/sAIAAp//sAIAAqP/sAIAAr//sAIAAsP/sAIAAsf/sAIAAsv/sAIAAs//sAIAAtf/sAIAAtv/sAIAAt//sAIAAuP/sAIAAuf/sAIAAvP/sAIABDv/sAIABM/9wAIABUP/QAIABUf/QAIABUv+5AIABU/+5AIABVf+5AIABVv+5AIABXf/QAIABXv/QAIEABP+5AIEACf+5AIEAD//QAIEAEv/jAIEAJf/kAIEAKf/jAIEAMf/jAIEAM//jAIEANv+OAIEAOP+OAIEAOf+OAIEAO/9wAIEAQ//sAIEARP/3AIEARv/tAIEAR//sAIEASf/jAIEAUf/sAIEAU//jAIEAV//sAIEAWP++AIEAWf++AIEAW//sAIEAa//QAIEAeP/QAIEAj//jAIEAkP/jAIEAkf/jAIEAkv/jAIEAk//jAIEAlf/jAIEAnf/sAIEAnv/sAIEAn//sAIEAoP/sAIEAof/sAIEAov/sAIEAo//sAIEApf/sAIEApv/sAIEAp//sAIEAqP/sAIEAr//sAIEAsP/sAIEAsf/sAIEAsv/sAIEAs//sAIEAtf/sAIEAtv/sAIEAt//sAIEAuP/sAIEAuf/sAIEAvP/sAIEBDv/sAIEBM/9wAIEBUP/QAIEBUf/QAIEBUv+5AIEBU/+5AIEBVf+5AIEBVv+5AIEBXf/QAIEBXv/QAIIABP+5AIIACf+5AIIAD//QAIIAEv/jAIIAJf/kAIIAKf/jAIIAMf/jAIIAM//jAIIANv+OAIIAOP+OAIIAOf+OAIIAO/9wAIIAQ//sAIIARP/3AIIARv/tAIIAR//sAIIASf/jAIIAUf/sAIIAU//jAIIAV//sAIIAWP++AIIAWf++AIIAW//sAIIAa//QAIIAeP/QAIIAj//jAIIAkP/jAIIAkf/jAIIAkv/jAIIAk//jAIIAlf/jAIIAnf/sAIIAnv/sAIIAn//sAIIAoP/sAIIAof/sAIIAov/sAIIAo//sAIIApf/sAIIApv/sAIIAp//sAIIAqP/sAIIAr//sAIIAsP/sAIIAsf/sAIIAsv/sAIIAs//sAIIAtf/sAIIAtv/sAIIAt//sAIIAuP/sAIIAuf/sAIIAvP/sAIIBDv/sAIIBM/9wAIIBUP/QAIIBUf/QAIIBUv+5AIIBU/+5AIIBVf+5AIIBVv+5AIIBXf/QAIIBXv/QAI8ALP/kAI8AOP/VAI8AOf/VAI8AOv/sAI8AO//kAI8BM//kAJAALP/kAJAAOP/VAJAAOf/VAJAAOv/sAJAAO//kAJABM//kAJEALP/kAJEAOP/VAJEAOf/VAJEAOv/sAJEAO//kAJEBM//kAJIALP/kAJIAOP/VAJIAOf/VAJIAOv/sAJIAO//kAJIBM//kAJMALP/kAJMAOP/VAJMAOf/VAJMAOv/sAJMAO//kAJMBM//kAJUALP/kAJUAOP/VAJUAOf/VAJUAOv/sAJUAO//kAJUBM//kAJ0AEf/kAJ0AVv/yAJ0AWP/kAJ0AWf/kAJ4AEf/kAJ4AVv/yAJ4AWP/kAJ4AWf/kAJ8AEf/kAJ8AVv/yAJ8AWP/kAJ8AWf/kAKAAEf/kAKAAVv/yAKAAWP/kAKAAWf/kAKEAEf/kAKEAVv/yAKEAWP/kAKEAWf/kAKIAEf/kAKIAVv/yAKIAWP/kAKIAWf/kAKMAEf/kAKMAVv/yAKMAWP/kAKMAWf/kAKUAEf/kAKUAVv/yAKUAWP/kAKUAWf/kAKYAEf/kAKYAVv/yAKYAWP/kAKYAWf/kAKcAEf/kAKcAVv/yAKcAWP/kAKcAWf/kAKgAEf/kAKgAVv/yAKgAWP/kAKgAWf/kAK8AEf/kAK8AVv/yAK8AWP/kAK8AWf/kALAAEf/kALAAVv/yALAAWP/kALAAWf/kALEAEf/kALEAVv/yALEAWP/kALEAWf/kALIAEf/kALIAVv/yALIAWP/kALIAWf/kALMAEf/kALMAVv/yALMAWP/kALMAWf/kALUAEf/kALUAVv/yALUAWP/kALUAWf/kALYAEf/kALcAEf/kALgAEf/kALkAEf/kALwAEf/kAQ4AEf/kAQ4AVv/yAQ4AWP/kAQ4AWf/kATMADv+OATMAD/9/ATMAEP+OATMAEf9/ATMAEv/kATMAI/9xATMAKf/kATMALP+OATMAMf/kATMAM//kATMANf/sATMAQ/+YATMAR/+YATMAUf+YATMAUv+XATMAVf+rATMAV//GATMAW//GATMAa/9/ATMAeP9/ATMAff9xATMAfv9xATMAf/9xATMAgP9xATMAgf9xATMAgv9xATMAj//kATMAkP/kATMAkf/kATMAkv/kATMAk//kATMAlf/kATMAnf+YATMAnv+YATMAn/+YATMAoP+YATMAof+YATMAov+YATMAo/+YATMApf+YATMApv+YATMAp/+YATMAqP+YATMAr/+YATMAsP+YATMAsf+YATMAsv+YATMAs/+YATMAtf+YATMAtv/GATMAt//GATMAuP/GATMAuf/GATMAvP/GATMBDv+YATMBOv9xATMBUP9/ATMBUf9/ATMBVP+OATMBV/+OATMBW/+OATMBXf9/ATMBXv9/AToABP+5AToACf+5AToAD//QAToAEv/jAToAJf/kAToAKf/jAToAMf/jAToAM//jAToANv+OAToAOP+OAToAOf+OAToAO/9wAToAQ//sAToARP/3AToARv/tAToAR//sAToASf/jAToAUf/sAToAU//jAToAV//sAToAWP++AToAWf++AToAW//sAToAa//QAToAeP/QAToAj//jAToAkP/jAToAkf/jAToAkv/jAToAk//jAToAlf/jAToAnf/sAToAnv/sAToAn//sAToAoP/sAToAof/sAToAov/sAToAo//sAToApf/sAToApv/sAToAp//sAToAqP/sAToAr//sAToAsP/sAToAsf/sAToAsv/sAToAs//sAToAtf/sAToAtv/sAToAt//sAToAuP/sAToAuf/sAToAvP/sAToBDv/sAToBM/9wAToBUP/QAToBUf/QAToBUv+5AToBU/+5AToBVf+5AToBVv+5AToBXf/QAToBXv/QAVAAI//VAVAANv9xAVAAOP+cAVAAOf+cAVAAOv+bAVAAO/9wAVAAff/VAVAAfv/VAVAAf//VAVAAgP/VAVAAgf/VAVAAgv/VAVABM/9wAVABOv/VAVEAI//V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AG8ALgBaAGUAawB0AG8AbgAgAFIAZwBSAGUAZwB1AGwAYQByADQALgAwADAAMAA7AFQAWQBQAE8AOwBaAGUAawB0AG8AbgBSAGcALQBSAGUAZwB1AGwAYQByAFoAZQBrAHQAbwBuAFIAZwAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADQALgAwADAAMABaAGUAawB0AG8AbgBSAGcALQBSAGUAZwB1AGwAYQByAFoAZQBrAHQAbwBuACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAAVAB5AHAAbwBkAGUAcgBtAGkAYwAgAEYAbwBuAHQAcwBSAGEAeQAgAEwAYQByAGEAYgBpAGUAUgBhAHkAIABMAGEAcgBhAGIAaQBlAGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AHkAcABvAGQAZQByAG0AaQBjAC4AYwBvAG0AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAeQBwAG8AZABlAHIAbQBpAGMALgBjAG8AbQBQAGwAZQBhAHMAZQAgAHIAZQBhAGQAIAB0AGgAZQAgAGMAdQByAHIAZQBuAHQAIABUAHkAcABvAGQAZQByAG0AaQBjACAARgBvAG4AdABzACAAbABpAGMAZQBuAHMAZQAgAGEAZwByAGUAZQBtAGUAbgB0ACAAYQB0ACAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHQAeQBwAG8AZABlAHIAbQBpAGMALgBjAG8AbQAvAGwAaQBjAGUAbgBzAGUALgBoAHQAbQBsAGgAdAB0AHAAOgAvAC8AdwB3AHcALgB0AHkAcABvAGQAZQByAG0AaQBjAC4AYwBvAG0ALwBsAGkAYwBlAG4AcwBlAC4AaAB0AG0AbABaAGUAawB0AG8AbgBSAGUAZwB1AGwAYQByAAIAAAAAAAD/nAAyAAAAAAAAAAAAAAAAAAAAAAAAAAABfgAAAQIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAKwAowCEAIUAlgDoAIYAjgCLAJ0AqQCKAQMAgwDyAPMAjQCXAIgBBADeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugEFAQYBBwEIAQkBCgD9AP4BCwEMAQ0BDgD/AQABDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgD4APkBHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvANcBMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AOIA4wE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsAsACxAUwBTQFOAU8BUAFRAVIBUwFUAVUA+wD8AOQA5QFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrALsBbAFtAW4BbwDmAOcApgFwAXEBcgFzAXQA2ADhANsA3ADdAOAA2QDfAXUBdgF3AXgBeQF6AXsBfACyALMAtgC3AMQAtAC1AMUAggDCAIcAqwDGAL4AvwC8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8AjAGQAZEBkgGTAZQBlQDvAZYAAgGXB3VuaTAwMTcGbWFjcm9uDnBlcmlvZGNlbnRlcmVkB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleApDZG90YWNjZW50CmNkb3RhY2NlbnQGRGNhcm9uBmRjYXJvbgZEY3JvYXQGZGNyb2F0B0VtYWNyb24HZW1hY3JvbgZFYnJldmUGZWJyZXZlCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleApHZG90YWNjZW50Cmdkb3RhY2NlbnQMR2NvbW1hYWNjZW50DGdjb21tYWFjY2VudAtIY2lyY3VtZmxleAtoY2lyY3VtZmxleARIYmFyBGhiYXIGSXRpbGRlBml0aWxkZQd1bmkwMTJBB2ltYWNyb24GSWJyZXZlBmlicmV2ZQdJb2dvbmVrB2lvZ29uZWsKSWRvdGFjY2VudAJJSgJpagtKY2lyY3VtZmxleAtqY2lyY3VtZmxleAxLY29tbWFhY2NlbnQMa2NvbW1hYWNjZW50BkxhY3V0ZQZsYWN1dGUMTGNvbW1hYWNjZW50DGxjb21tYWFjY2VudAZMY2Fyb24GbGNhcm9uBExkb3QEbGRvdAZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgNFbmcDZW5nB09tYWNyb24Hb21hY3JvbgZPYnJldmUGb2JyZXZlDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQGVGNhcm9uBnRjYXJvbgRUYmFyBHRiYXIGVXRpbGRlBnV0aWxkZQdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrC1djaXJjdW1mbGV4C3djaXJjdW1mbGV4C1ljaXJjdW1mbGV4C3ljaXJjdW1mbGV4BlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50DFNjb21tYWFjY2VudAxzY29tbWFhY2NlbnQHdW5pMDIxQQd1bmkwMjFCCGRvdGxlc3NqBldncmF2ZQZ3Z3JhdmUGV2FjdXRlBndhY3V0ZQlXZGllcmVzaXMJd2RpZXJlc2lzBllncmF2ZQZ5Z3JhdmUMemVyb3N1cGVyaW9yDGZvdXJzdXBlcmlvcgxmaXZlc3VwZXJpb3ILc2l4c3VwZXJpb3INc2V2ZW5zdXBlcmlvcg1laWdodHN1cGVyaW9yDG5pbmVzdXBlcmlvcgx6ZXJvaW5mZXJpb3ILb25laW5mZXJpb3ILdHdvaW5mZXJpb3INdGhyZWVpbmZlcmlvcgxmb3VyaW5mZXJpb3IMZml2ZWluZmVyaW9yC3NpeGluZmVyaW9yDXNldmVuaW5mZXJpb3INZWlnaHRpbmZlcmlvcgxuaW5laW5mZXJpb3IERXVybwd1bmkyMTE3CG9uZXRoaXJkCXR3b3RoaXJkcwlvbmVlaWdodGgMdGhyZWVlaWdodGhzC2ZpdmVlaWdodGhzDHNldmVuZWlnaHRocwd1bmlGOEZGBS5udWxsAAAAAAACAAgAAv//AAMAAQAAAAoAHgAsAAFsYXRuAAgABAAAAAD//wABAAAAAWtlcm4ACAAAAAEAAAABAAQAAgAAAAMADASGBtgAAQp4AAQAAAB4APoBBAEKARQBLgE0AT4BSAFOAVQBWgFgAWYBbAFyAXwBigGYAaIBqAGuAbQBugHAAcYBzAHSAdgB4gHsAfYCAAIKAhQCGgIgAiYCLAIyAjgCPgJIAk4CVAJaAmACZgJsAnICeAJ+AoQCigKQApYCnAKiAqgCrgK0AroCwALGAswC0gLYAuIC6ALyAvgDAgMIAw4DFAMaAyADJgMsAzIDOAM+A0QDSgNQA1YDXANiA2gDbgN0A34DiAOSA5gDngOkA6oDsAO2A8QDygPUA9oD5APuA/gEBgQMBBoEIAQuBDQEPgREBEoEUARaBGQEbgR0AAIAC//GABP/1QABADr/mwACAAv/xgAT/9UABgAl/+QARf+cAE//1QBQ/9UAUv/HAFr/uAABADr/7AACABT/5AAW/5sAAgAl/+QARP/3AAEAEf/kAAEAEf/kAAEAEf+5AAEAOv/sAAEAOv/sAAEAEf+5AAEAOv/sAAIAEf+qAFr/vgADABH/nAAl/+MAUv+0AAMAEf+cACX/4wBS/7QAAgAR/38AUv+XAAEAEf/kAAEAEf/kAAEAEf/kAAEAEf/kAAEAEf/HAAEAEf/HAAEAEf/kAAEAOv+bAAEAOv+bAAIAJf/kAET/9wACACX/5ABE//cAAgAl/+QARP/3AAIAJf/kAET/9wACACX/5ABE//cAAgAl/+QARP/3AAEAEf/kAAEAOv/sAAEAOv/sAAEAOv/sAAEAOv/sAAEAOv/sAAEAOv/sAAIAEf9/AFL/lwABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AACACX/5ABE//cAAQAR/+QAAgAl/+QARP/3AAEAEf/kAAIAJf/kAET/9wABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABADr/7AABADr/7AABADr/7AABADr/7AABADr/7AABABH/5AABADr/7AABABH/5AABADr/7AABABH/5AABABH/5AACABH/qgBa/74AAgAR/6oAWv++AAIAEf+qAFr/vgABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AABABH/5AADABH/nAAl/+MAUv+0AAEAEf/HAAIAEf9/AFL/lwABABH/5AACABH/fwBS/5cAAgAl/+QARP/3AAIAEf+qAFr/vgADABH/nAAl/+MAUv+0AAEAEf/HAAMAEf+cACX/4wBS/7QAAQAR/8cAAwAR/5wAJf/jAFL/tAABABH/xwACABH/fwBS/5cAAQAR/+QAAQA6/5sAAQA6/5sAAgAL/8YAE//VAAIAC//GABP/1QACAAv/xgAT/9UAAQA6/5sAAQA6/5sAAQbyAAQAAAAFABQBagGAAZ4CPABVACP/nAAs/6oAQ/+5AEb/qgBH/7kASf/GAFH/uQBT/8YAVP+5AFX/uQBX/8YAW//GAFz/uQB9/5wAfv+cAH//nACA/5wAgf+cAIL/nACd/7kAnv+5AJ//uQCg/7kAof+5AKL/uQCj/7kApf+5AKb/uQCn/7kAqP+5AK3/qgCv/7kAsP+5ALH/uQCy/7kAs/+5ALX/uQC2/8YAt//GALj/xgC5/8YAuv/GALz/xgC9/5wAvv+5AL//nADA/7kAwf+cAML/uQDM/6oAzv+qAND/uQDS/7kA1P+5ANb/uQDY/7kA2v/GANz/xgDe/8YA4P/GAPH/qgEI/7kBCv+5AQz/uQEO/7kBEP+5ARL/uQEU/7kBFv+5ARj/uQEa/7kBHP+5AST/xgEm/8YBKP/GASr/xgEs/8YBLv/GATL/xgE1/7kBN/+5ATn/uQE6/5wBPP+5AU//xgAFAA7/fwAQ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AAAABgAGAAYABgAGAAAABgAPAA8ADwAPAAIAAAAAAAkACQAJAAkACQAJAAkAAAAJAAkACQAJAAAAAAAAAAAABwAAAAkACQAJAAkACQAAAAkACwALAAsACwALAAAACwAMAAkADAAJAAwACQAAAAAAAAAAAAAAAAAAAAAAAAAHAAAABwAAAAkAAAAJAAAACQAAAAkAAAAJAAYACAAGAAgABgAIAAYACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAJAAYACQAGAAkAAAAJAAAAEwAAABMAAAATABEAEAARABAAEQAQABEAEAADABIAAwAAAAMAEgAPAAsADwALAA8ACwAPAAsADwALAA8ACwAEAAoAAgALAAIAAAAUAAAAFAAAABQADAARABAAAwASAAAAAAAAAAAAAAAAAAAAAAAAAAQACgAEAAoABAAKAAIACwABAAEABQAFAA0ABQAFAA0AAAAAAAAADQAAAAEAAQAAAAEAAAAKACQAVgABbGF0bgAIAAQAAAAA//8ABAAAAAEAAgADAARmcmFjABpsaWdhACBzaW5mACZzdXBzACwAAAABAAEAAAABAAAAAAABAAIAAAABAAMABAAKABIAGgAiAAQAAAABACAABAAAAAEASgABAAAAAQC2AAEAAAABALQAAQDGAAEACAAEAAoAEgAaACIAaQADACUACwFyAAMAMgALAGwAAwA0AAsAaQADAEUACwABAJoABQAQADoARgBcAGgABAAKABIAGgAiAHoAAwARABQBdAADABEAFQB5AAMAEQAWAXYAAwARABoAAQAEAXUAAwARABUAAgAGAA4AewADABEAFgF3AAMAEQAaAAEABAF4AAMAEQAaAAEABAF5AAMAEQAaAAEANAFVAAIALgAKAWAAdgBvAHABYQFiAWMBZAFlAWYAAQABAAoAAQAFABMAFAAVABcAGQACAAEAEgAbAAA=);}
/*}}}*/
<<tiddler pdfView with:"http://dl.dropbox.com/u/3105342/Arbejde/ad%201.pdf">>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2010.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%2011.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%2012.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%2013.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%2014.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2015.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2016.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2017.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2018.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<<tiddler pdfView with: "http://dl.getdropbox.com/u/1064531/ad%2019.pdf">>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%202.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2020.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%2021.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%203.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%204.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%205.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%206.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%207.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.dropbox.com/u/3105342/Arbejde/ad%208.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
<html><div align="center"><iframe src="http://dl.getdropbox.com/u/1064531/ad%209.pdf" frameborder="0" width="100%" height="600"></iframe></div></html>
/***
|''Navn:''|danish|
|''Beskrivelse:''|Translation of TiddlyWiki into Danish|
|''Forfatter:''|Måns Mårtensson (humamamm (at) gmail (dot) com)|
|''Kilde:''|danish.tiddlyspace.com |
|''CodeRepository:''|http://svn.tiddlywiki.org/Trunk/association/locales/core/en/locale.en.js |
|''Version:''|0.3.7|
|''Dato:''|Jul 6, 2007|
|''Kommentarer:''|Kontakt venligst oversætteren i tilfælde af korrektioner |
|''Licens:''|[[Creative Commons Attribution-ShareAlike 3.0 License|http://creativecommons.org/licenses/by-sa/3.0/]] |
|''~CoreVersion:''|2.4|
***/
//{{{
//--
//-- Translateable strings
//--
// Strings in "double quotes" should be translated; strings in 'single quotes' should be left alone
config.locale = "da"; // W3C language tag
if (config.options.txtUserName == 'YourName') // do not translate this line, but do translate the next line
merge(config.options,{txtUserName: "DitNavn"});
merge(config.tasks,{
save: {text: "gem", tooltip: "Gem dine ændringer til denne TiddlyWiki", action: saveChanges},
sync: {text: "synk", tooltip: "Synkronisér ændringer med andre TiddlyWiki filer og servere", content: '<<sync>>'},
importTask: {text: "importér", tooltip: "Importér tiddlers og plugins fra andre TiddlyWiki filer og servere", content: '<<importTiddlers>>'},
tweak: {text: "Tilpas", tooltip: "Tilpas TiddlyWikis udseende og opførsel", content: '<<options>>'},
upgrade: {text: "upgradér", tooltip: "Upgrader TiddlyWikis kerne kode", content: '<<upgrade>>'},
plugins: {text: "udvidelser", tooltip: "Administrér installerede udvidelser", content: '<<plugins>>'}
});
// Options that can be set in the options panel and/or cookies
merge(config.optionsDesc,{
txtUserName: "Brugernavn til signering af dine ændringer",
chkRegExpSearch: "Avend almindelige udtryk til søgninger",
chkCaseSensitiveSearch: "Forskel på store og små bogstaver",
chkIncrementalSearch: "Bogstav for bogstav-søgning",
chkAnimate: "Anvend animationer",
chkSaveBackups: "Gem en backupfil når der gemmes ændringer",
chkAutoSave: "Gem automatisk ændringer",
chkGenerateAnRssFeed: "Lav et RSS feed når der gemmes ændringer",
chkSaveEmptyTemplate: "Lav en tom skabelon når der gemmes ændringer",
chkOpenInNewWindow: "Åben internet links i et nyt vindue",
chkToggleLinks: "Når man klikker på et link i åbne tiddlers lukkes de",
chkHttpReadOnly: "Skjul redigeringsværktøjer når den vises over HTTP",
chkForceMinorUpdate: "Opdatér ikke brugernavn og dato når tiddlers bliver ændrede",
chkConfirmDelete: "Bed om bekræftelse før tiddlers slettes",
chkInsertTabs: "Brug tab tasten til at indsætte tab tegn istedet for at hoppe imellem felter",
txtBackupFolder: "Navn på mappe til brug for backups",
txtMaxEditRows: "Maximum antal af rækker i edit bokse",
txtFileSystemCharSet: "Default tegnsæt til at gemme ændringer (Kun i Firefox/Mozilla)"});
merge(config.messages,{
customConfigError: "Der opstod problemer ved loading af udvidelser. Se PluginManager for detaljer",
pluginError: "Fejl: %0",
pluginDisabled: "Ikke udført fordi det er slået fra via 'systemConfigDisable' tag",
pluginForced: "Udført fordi det er tvunget via 'systemConfigForce' tag",
pluginVersionError: "Ikke udført fordi denne udvidelse kræver en nyere udgave af TiddlyWiki",
nothingSelected: "Intet er valgt. Du er nødt til at vælge en eller flere ting først",
savedSnapshotError: "Det ser ud som om denne TiddlyWiki er blevet gemt forkert. Se venligst http://www.tiddlywiki.com/#DownloadSoftware for details",
subtitleUnknown: "(ukendt)",
undefinedTiddlerToolTip: "Tiddleren '%0' findes ikke endnu",
shadowedTiddlerToolTip: "Tiddleren '%0' findes ikke endnu, men har en foruddefineret skygge værdi",
tiddlerLinkTooltip: "%0 - %1, %2",
externalLinkTooltip: "Internet link til %0",
noTags: "Der er ingen taggede tiddlere",
notFileUrlError: "Du er nødt til at gemme denne TiddlyWiki til en fil før du kan gemme ændringer",
cantSaveError: "Det er ikke muligt at gemme ændringer. Mulige grunde indbefatter:\n- din browser understøtter det ikke (Firefox, Internet Explorer, Safari og Opera virker alle fint hvis de er konfigurerede korrekt)\n- stien til din TiddlyWiki fil indeholder ulovlige tegn\n- TiddlyWiki HTML filen er blevet flyttet eller omdøbt",
invalidFileError: "Den originale fil '%0' lader ikke til at være en rigtig TiddlyWiki",
backupSaved: "Backup gemt",
backupFailed: "Det lykkedes IKKE at gemme en backup fil",
rssSaved: "RSS feed gemt",
rssFailed: "Det lykkedes IKKE at gemme et RSS feed",
emptySaved: "Tom skabelon gemt",
emptyFailed: "Det lykkedes IKKE at gemme en tom skabelon",
mainSaved: "Hoved TiddlyWiki fil gemt",
mainFailed: "Det lykkedes IKKE at gemme hoved TiddlyWiki filen. Dine ændringer er IKKE blevet gemt",
macroError: "Fejl i makro <<\%0>>",
macroErrorDetails: "Fejl ved udførsel af makro <<\%0>>:\n%1",
missingMacro: "Ingen sådan makro",
overwriteWarning: "En tiddler med navnet '%0' findes allerede. Vælg OK for at overskrive den",
unsavedChangesWarning: "ADVARSEL! Der er ugemte ændringer i TiddlyWikien\n\nVælg OK for at gemme\nVælg FORTRYD for at afvise",
confirmExit: "--------------------------------\n\nDer er ugemte ændringer i TiddlyWikien. Hvis du fortsætter vil du miste disse ændringer\n\n--------------------------------",
saveInstructions: "GemÆndringer",
unsupportedTWFormat: "Ikke understøttet TiddlyWiki format '%0'",
tiddlerSaveError: "Fejl ved forsøg på at gemme tiddler '%0'",
tiddlerLoadError: "Fejl ved load af tiddler '%0'",
wrongSaveFormat: "Kan ikke gemme med formatet '%0'. Bruger standard format til at gemme.",
invalidFieldName: "Ikke tilladt feltnavn %0",
fieldCannotBeChanged: "Felt '%0' kan ikke ændres",
loadingMissingTiddler: "Forsøger at hente tiddleren '%0' fra '%1' serveren ved:\n\n'%2' i arbejdsområdet '%3'",
upgradeDone: "Opgradering til version %0 er nu fuldført\n\nKlik 'OK' for at genopfriske den nyligt opgraderede TiddlyWiki"});
merge(config.messages.messageClose,{
text: "luk",
tooltip: "luk dette meddelelsesområde"});
config.messages.backstage = {
open: {text: "-", tooltip: "Åben bagsceneområdet for at ændre på nogle grundlæggende indstillinger"},
close: {text: "luk", tooltip: "Luk bagsceneområdet"},
prompt: "-",
decal: {
edit: {text: "edit", tooltip: "Redigér tiddleren '%0'"}
}
};
config.messages.listView = {
tiddlerTooltip: "Klik for at se hele denne tiddlers tekst",
previewUnavailable: "(forhåndsvisning er ikke tilgængelig)"
};
config.messages.dates.months = ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November","December"];
config.messages.dates.days = ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"];
config.messages.dates.shortMonths = ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"];
config.messages.dates.shortDays = ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"];
// suffixes for dates, eg "1ste","2den","3die"..."30te","31te"
config.messages.dates.daySuffixes = ["ste","den","die","te","te","te","te","te","te","te",
"te","te","te","te","te","te","te","te","te","te",
"ste","den","die","te","te","te","te","te","te","te",
"te"];
config.messages.dates.am = "formiddag";
config.messages.dates.pm = "eftermiddag";
merge(config.messages.tiddlerPopup,{
});
merge(config.views.wikified.tag,{
labelNoTags: "ingen tags",
labelTags: "tags: ",
openTag: "Åben tag '%0'",
tooltip: "Vis tiddlere der er taggede med '%0'",
openAllText: "Åben alle",
openAllTooltip: "Åben alle disse tiddlere",
popupNone: "Ingen andre tiddlere er taggede med '%0'"});
merge(config.views.wikified,{
defaultText: "Tiddleren '%0' findes ikke endnu. Dobbelt-klik for at lave den",
defaultModifier: "(mangler)",
shadowModifier: "(indbygget skygge tiddler)",
dateFormat: "DD MMM YYYY", // use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D
createdPrompt: "lavet"});
merge(config.views.editor,{
tagPrompt: "Skriv tags delt med mellemrum, [[brug 2 dobbelte firkantede klammer]] om nødvendigt, eller tilføj allerede eksisterende",
defaultText: "Skriv teksten til '%0'"});
merge(config.views.editor.tagChooser,{
text: "tags",
tooltip: "Vælg eksisterende tags som tilføjelse til denne tiddler",
popupNone: "Der er ikke defineret nogen tags",
tagTooltip: "Tilføj tagget '%0'"});
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: "søg",
prompt: "Søg i denne TiddlyWiki",
accessKey: "F",
successMsg: "Der er fundet %0 tiddlere som matcher %1",
failureMsg: "Der er ikke fundet nogen tiddlere som matcher %0"});
merge(config.macros.tagging,{
label: "tagger: ",
labelNotTag: "tagger ikke",
tooltip: "Liste over tiddlere der er taggede med '%0'"});
merge(config.macros.timeline,{
dateFormat: "DD MMM YYYY"});// use this to change the date format for your locale, eg "YYYY MMM DD", do not translate the Y, M or D
merge(config.macros.allTags,{
tooltip: "Vis tiddlere der er taggede med '%0'",
noTags: "Der er ingen taggede tiddlere"});
config.macros.list.all.prompt = "Alle tiddlere i alfabetisk orden";
config.macros.list.missing.prompt = "Tiddlere der linkes til men som ikke er definerede";
config.macros.list.orphans.prompt = "Tiddlere som der ikke linkes til fra nogen andre tiddlere";
config.macros.list.shadowed.prompt = "Tiddlere som er skyggede med grundlæggende indhold";
config.macros.list.touched.prompt = "Tiddlere som er blevet ændret lokalt ";
merge(config.macros.closeAll,{
label: "luk alle",
prompt: "Luk alle viste tiddlere (undtaget dem som er ved at blive redigerede)"});
merge(config.macros.permaview,{
label: "vis permalink",
prompt: "Lav et link til en URL som henter alle de netop nu synlige tiddlere"});
merge(config.macros.saveChanges,{
label: "gem ændringer",
prompt: "Gem alle tiddlere for at lave en ny TiddlyWiki",
accessKey: "S"});
merge(config.macros.newTiddler,{
label: "ny tiddler",
prompt: "Lav en ny tiddler",
title: "Ny Tiddler",
accessKey: "N"});
merge(config.macros.newJournal,{
label: "ny journal",
prompt: "Lav en ny tiddler ud fra nuværende dato og tid",
accessKey: "J"});
merge(config.macros.options,{
wizardTitle: "Tilpas avancerede muligheder",
step1Title: "Disse muligheder gemmes i cookies i din browser",
step1Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='false' name='chkUnknown'>Vis ukendte muligheder</input>",
unknownDescription: "//(ukendt)//",
listViewTemplate: {
columns: [
{name: 'Option', field: 'option', title: "Option", type: 'String'},
{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
{name: 'Name', field: 'name', title: "Name", type: 'String'}
],
rowClasses: [
{className: 'lowlight', field: 'lowlight'}
]}
});
merge(config.macros.plugins,{
wizardTitle: "Administrer udvidelser",
step1Title: "Aktive udvidelser",
step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
skippedText: "(Denne udvidelse er ikke blevet aktiveret fordi den først er blevet tilføjet efter start)",
noPluginText: "Der er ikke installeret nogen udvidelser",
confirmDeleteText: "Er du sikker på at du vil slette disse udvidelser:\n\n%0",
removeLabel: "Fjern systemConfig tag",
removePrompt: "Fjern systemConfig tag",
deleteLabel: "slet",
deletePrompt: "Slet disse tiddlere permanent",
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: "Size", type: 'Size'},
{name: 'Forced', field: 'forced', title: "Forced", tag: 'systemConfigForce', type: 'TagCheckbox'},
{name: 'Disabled', field: 'disabled', title: "Disabled", tag: 'systemConfigDisable', type: 'TagCheckbox'},
{name: 'Executed', field: 'executed', title: "Loaded", type: 'Boolean', trueText: "Yes", falseText: "No"},
{name: 'Startup Time', field: 'startupTime', title: "Startup Time", type: 'String'},
{name: 'Error', field: 'error', title: "Status", type: 'Boolean', trueText: "Error", falseText: "OK"},
{name: 'Log', field: 'log', title: "Log", type: 'StringList'}
],
rowClasses: [
{className: 'error', field: 'error'},
{className: 'warning', field: 'warning'}
]}
});
merge(config.macros.toolbar,{
moreLabel: "mere",
morePrompt: "Vis flere muligheder"
});
merge(config.macros.refreshDisplay,{
label: "genopfrisk",
prompt: "Genopfrisk TiddlyWikiens udseende"
});
merge(config.macros.importTiddlers,{
readOnlyWarning: "Du kan ikke importere til en låst TiddlyWiki fil. Prøv at åbne den fra en fil:// URL",
wizardTitle: "Importer tiddlere fra en anden fil eller server",
step1Title: "Trin 1: Find serveren eller TiddlyWiki filen",
step1Html: "Vælg servertypen: <select name='selTypes'><option value=''>Choose...</option></select><br>Indskriv webadresse eller sti her: <input type='text' size=50 name='txtPath'><br>...eller søg efter en fil: <input type='file' size=50 name='txtBrowse'><br><hr>...eller vælg et forudbestemt feed: <select name='selFeeds'><option value=''>Vælg...</option></select>",
openLabel: "åbn",
openPrompt: "Åbn forbindelsen til denne fil eller server",
openError: "Der var problemer med at hente tiddlywiki filen",
statusOpenHost: "Forbinder til hosten",
statusGetWorkspaceList: "Henter en liste over tilgængelige arbejdsområder",
step2Title: "Trin 2: Vælg arbejdsområde",
step2Html: "Indskriv et navn på arbejdsområdet: <input type='text' size=50 name='txtWorkspace'><br>...eller vælg et der allerede er der: <select name='selWorkspace'><option value=''>Choose...</option></select>",
cancelLabel: "fortryd",
cancelPrompt: "Fortryd denne import",
statusOpenWorkspace: "Åben arbejdsområdet",
statusGetTiddlerList: "Henter listen over tilgængelige tiddlere",
errorGettingTiddlerList: "Fejl ved hentning af liste over tiddlere, klik Fortryd for at prøve igen",
step3Title: "Trin 3: Vælg hvilke tiddlere der skal importeres",
step3Html: "<input type='hidden' name='markList'></input><br><input type='checkbox' checked='true' name='chkSync'>Hold disse tiddlere linket til denne server så du kan synkronisere efterfølgende ændringer</input><br><input type='checkbox' name='chkSave'>Gem detaljerne for denne server i en 'systemServer' tiddler kaldet:</input> <input type='text' size=25 name='txtSaveTiddler'>",
importLabel: "importer",
importPrompt: "Importer disse tiddlere",
confirmOverwriteText: "Er du sikker på at du vil overskrive disse tiddlere:\n\n%0",
step4Title: "Trin 4: Importerer %0 tiddler(e)",
step4Html: "<input type='hidden' name='markReport'></input>", // DO NOT TRANSLATE
doneLabel: "udført",
donePrompt: "Luk denne wizard",
statusDoingImport: "Importerer tiddlere",
statusDoneImport: "Alle tiddlere er importede",
systemServerNamePattern: "%2 on %1",
systemServerNamePatternNoWorkspace: "%1",
confirmOverwriteSaveTiddler: "Tiddleren '%0' findes allerede. Klik 'OK' for at overskrive den med detaljerne fra denne server, eller 'Fortryd' for at efterlade uændret",
serverSaveTemplate: "|''Type:''|%0|\n|''URL:''|%1|\n|''Workspace:''|%2|\n\nDenne tiddler blev lavet automatisk for at skrive denne servers detaljer",
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: "Size", type: 'Size'},
{name: 'Tags', field: 'tags', title: "Tags", type: 'Tags'}
],
rowClasses: [
]}
});
merge(config.macros.upgrade,{
wizardTitle: "Opgrader TiddlyWikis kerne kode",
step1Title: "Opdater eller reparer denne TiddlyWiki til sidste nye udgivelse",
step1Html: "Du er ved at opgradere til sidste nye udgave af TiddlyWikis kerne kode (from <a href='%0' class='externalLink' target='_blank'>%1</a>). Dit indhold vil blive bibeholdt under opgraderinen.<br><br>Bemærk at opgraderinger kan konfikte med gamle udvidelser. Hvis du får problemer med den opgraderede fil se her <a href='http://www.tiddlywiki.org/wiki/CoreUpgrades' class='externalLink' target='_blank'>http://www.tiddlywiki.org/wiki/CoreUpgrades</a>",
errorCantUpgrade: "Kan ikke opgradere denne TiddlyWiki. Du kan kun opgradere en TiddlyWiki fil som er gemt lokalt på en pc",
errorNotSaved: "Du skal gemme ændringer før du kan gennemføre en opgradering",
step2Title: "Bekræft opgraderingsdetaljer",
step2Html_downgrade: "Du er ved at nedgradere til TiddlyWiki version %0 fra %1.<br><br>Nedgradering til en ældre udgave af kerne koden er IKKE tilrådeligt",
step2Html_restore: "Denne tiddlyWike bruger allerede den sidste nye kerne kode (%0).<br><br>Du kan fortsætte med opgraderingen for at sikre dig at koden ikke er blevet ødelagt",
step2Html_upgrade: "Du er ved at opgradere til TiddlyWiki version %0 fra %1",
upgradeLabel: "opgrader",
upgradePrompt: "Forbered opgraderingsprocessen",
statusPreparingBackup: "Forbereder backup",
statusSavingBackup: "Gemmer backup fil",
errorSavingBackup: "Der var problemer med at gemme backup filen",
statusLoadingCore: "Loader kernekoden",
errorLoadingCore: "Fejl ved load af kernekoden",
errorCoreFormat: "Fejl ved den nye kernekode",
statusSavingCore: "Gemmer den nye kernekode",
statusReloadingCore: "Genloader den nye kernekode",
startLabel: "start",
startPrompt: "Start opgraderingsprocessen",
cancelLabel: "fortryd",
cancelPrompt: "Fortryd opgraderingsprocessen",
step3Title: "Opgradering afbrudt",
step3Html: "Du har afbrudt opgraderingsprocessen"
});
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 type", 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: "Synchronisation status", type: 'String'},
{name: 'Server URL', field: 'serverUrl', title: "Server URL", text: "View", type: 'Link'}
],
rowClasses: [
],
buttons: [
{caption: "Synkronisér disse tiddlere", name: 'sync'}
]},
wizardTitle: "Synkroniser med internet servere og filer",
step1Title: "Vælg hvilke tiddlere du vil synkronisere",
step1Html: "<input type='hidden' name='markList'></input>", // DO NOT TRANSLATE
syncLabel: "synk",
syncPrompt: "Synkronisér disse tiddlere",
hasChanged: "Ændret imens den var koblet fra",
hasNotChanged: "Uændret imens den var koblet fra",
syncStatusList: {
none: {text: "...", color: "gennemsigtig", display:null},
changedServer: {text: "Ændret på serveren", color: '#8080ff', display:null},
changedLocally: {text: "Ændret imens den var koblet fra", color: '#80ff80', display:null},
changedBoth: {text: "ændret imens den var koblet fra også på serveren", color: '#ff8080', display:null},
notFound: {text: "Ikke fundet på serveren", color: '#ffff80', display:null},
putToServer: {text: "Gemt update på serveren", color: '#ff80ff', display:null},
gotFromServer: {text: "Hentet update fra serveren", color: '#80ffff', display:null}
}
});
merge(config.commands.closeTiddler,{
text: "luk",
tooltip: "Luk denne tiddler"});
merge(config.commands.closeOthers,{
text: "luk andre",
tooltip: "Luk alle andre tiddlere"});
merge(config.commands.editTiddler,{
text: "redigér",
tooltip: "Redigér denne tiddler",
readOnlyText: "se",
readOnlyTooltip: "Se denne tiddlers kilde"});
merge(config.commands.saveTiddler,{
text: "færdig",
tooltip: "Gem ændringer til denne tiddler"});
merge(config.commands.cancelTiddler,{
text: "fortryd",
tooltip: "Fortryd ændringer til denne tiddler",
warning: "Er du sikker på at du vil fortryde dine ændringer til '%0'?",
readOnlyText: "færdig",
readOnlyTooltip: "Se tiddlere normalt"});
merge(config.commands.deleteTiddler,{
text: "slet",
tooltip: "Slet denne tiddler",
warning: "Er du sikker på at du vil slette '%0'?"});
merge(config.commands.permalink,{
text: "permalink",
tooltip: "Permalink til denne tiddler"});
merge(config.commands.references,{
text: "referencer",
tooltip: "Vis tiddlere som linker til denne tiddler",
popupNone: "Ingen referencer"});
merge(config.commands.jump,{
text: "spring",
tooltip: "Spring til en anden tiddler"});
merge(config.commands.syncing,{
text: "synkroniserer",
tooltip: "Kontroller synkronisering af denne tiddler med en server eller en fil",
currentlySyncing: "<div>Currently syncing via <span class='popupHighlight'>'%0'</span> to:</"+"div><div>host: <span class='popupHighlight'>%1</span></"+"div><div>workspace: <span class='popupHighlight'>%2</span></"+"div>", // Note escaping of closing <div> tag
notCurrentlySyncing: "Sykroniserer ikke lige nu",
captionUnSync: "Stop synkronisering af denne tiddler",
chooseServer: "Synkronisér denne tiddler med en anden server:",
currServerMarker: "\u25cf ",
notCurrServerMarker: " "});
merge(config.commands.fields,{
text: "felter",
tooltip: "Vis denne tiddlers udvidede felter",
emptyText: "Der er ingen udvidede felter til rådighed for denne tiddler",
listViewTemplate: {
columns: [
{name: 'Field', field: 'field', title: "Field", type: 'String'},
{name: 'Value', field: 'value', title: "Value", type: 'String'}
],
rowClasses: [
],
buttons: [
]}});
merge(config.shadowTiddlers,{
DefaultTiddlers: "[[Kom i gang]]",
MainMenu: "[[Kom i gang]]\n\n\n^^~TiddlyWiki version <<version>>\n© 2007 [[UnaMesa|http://www.unamesa.org/]]^^",
"Kom i gang": "For at komme i gang med denne tomme tiddlywiki, skal du ændre på de følgende tiddlere:\n* SiteTitle & SiteSubtitle: Sidens titel og undertitel, som vist øverst (efter de er gemt, vil de også vise sig i browserens titelmenu)\n* MainMenu: er hovedmenuen (oftest placeret til venstre)\n* DefaultTiddlers: Indeholder navnene på de tiddlere du vil have skal starte op når du åbner TiddlyWiki\nDu skal også skrive dit brugernavn for at signere dine redigeringer: <<option txtUserName>>\nHvis du ikke bryder dig om farvesammensætningen, klik da på \n<<RandomColorPaletteButton>> for at generere et nyt tilfældigt farve skema.",
SiteTitle: "Min TiddlyWiki",
SiteSubtitle: "en genbrugelig ikke-liniær personlig web notesbog",
SiteUrl: "http://www.tiddlywiki.com/",
OptionsPanel: "Disse muligheder for at ændre på TiddlyWiki bliver gemt i din browser\n\nDit brugernavn til at signere dine ændringer. Skriv det som et WikiOrd (f.eks. PerPoulsen)\n<<option txtUserName>>\n\n<<option chkSaveBackups>> Gem backups\n<<option chkAutoSave>> Gem automatisk\n<<option chkRegExpSearch>> Regexp search\n<<option chkCaseSensitiveSearch>> Søg på store og små bogstaver\n<<option chkAnimate>> Tillad animationer\n\n----\nSe også [[AvanceredeMuligheder|AdvancedOptions]]",
SideBarOptions: '<<search>><<closeAll>><<permaview>><<newTiddler>><<newJournal "DD MMM YYYY" "journal">><<saveChanges>><<slider chkSliderOptionsPanel OptionsPanel "muligheder \u00bb" "Skift TiddlyWikis avancerede muligheder">>',
SideBarTabs: '<<tabs txtMainTab "Tidslinie" "Tidslinie" TabTimeline "Alle" "Alle tiddlere" TabAll "Tags" "Alle tags" TabTags "Flere" "Flere lister" TabMore>>',
TabMore: '<<tabs txtMoreTab "Mangler" "Manglende tiddlere" TabMoreMissing "Uden tilknytning" "Tiddlere" TabMoreOrphans "Skygger" "Skyggede tiddlere" TabMoreShadowed>>'
});
merge(config.annotations,{
AdvancedOptions: "Denne skygge tiddler giver adgang til flere avancerede muligheder",
ColorPalette: "Disse værdier i denne skyggetiddler bestemmer hvilket farveskema, der bliver brugt til ~TiddlyWikis brugerflade",
DefaultTiddlers: "Tiddlere som er listede i denne skyggetiddler vil automatisk blive vist når ~TiddlyWiki starter op",
EditTemplate: "HTML skabelonen i denne skyggetiddler bestemmer hvordan tiddlere ser ud når de bliver redigerede",
GettingStarted: "Denne skyggetiddler giver instruktioner om grundlæggende anvendelse",
ImportTiddlers: "Denne skyggetiddler giver mulighed for at importere tiddlere",
MainMenu: "Denne tiddler bliver brugt til at definere indholdet af hoved menuen i venstre side af skærmen",
MarkupPreHead: "Denne tiddler bliver indsat i toppen af <head> sektionen på TiddlyWiki HTML filen",
MarkupPostHead: "Denne tiddler bliver indsat i bunden af <head> sektionen på TiddlyWiki HTML filen",
MarkupPreBody: "Denne tiddler bliver indsat i toppen af<body> sektionen på TiddlyWiki HTML filen",
MarkupPostBody: "Denne tiddler bliver indsat i slutningen af <body> sektionen på TiddlyWiki HTML filen umiddelbart efter script blokken",
OptionsPanel: "Denne skyggetiddler bliver brugt til indholdet af muligheder skydepanelet i højre side",
PageTemplate: "HTML skabelonen i denne skyggetiddler bestemmer det overordnede ~TiddlyWiki layout",
PluginManager: "Denne skyggetiddler giver adgang til udvidelsesadministrationen",
SideBarOptions: "Denne skyggetiddler bruges til indholdet af muligheder panelet i højre sidemenu",
SideBarTabs: "Denne skyggetiddler bruges til indholdet af fanebladspanelet i højre sidemenu",
SiteSubtitle: "Denne skyggetiddler bruges som anden del af sidens titel",
SiteTitle: "Denne skyggetiddler bruges som første del af sidens titel",
SiteUrl: "Denne skyggetiddler bør sættes til den fulde mål-URL til publikation",
StyleSheetColors: "Denne skyggetiddler indeholder CSS definitionerne der bestemmer farverne på side elementerne. ''REDIGÉR IKKE DENNE TIDDLER'', lav i stedet dine ændringer i StyleSheet skyggetiddleren",
StyleSheet: "Denne tiddler kan indeholde specielle CSS definitioner",
StyleSheetLayout: "Denne skyggetiddler indeholder CSS definitioner der bestemmer layoutet på side elementer. ''REDIGÉR IKKE DENNE TIDDLER'', lav i stedet dine ændringer i StyleSheet skyggetiddleren",
StyleSheetLocale: "Denne skyggetiddler indeholder CSS definitioner relateret til lokale oversættelser",
StyleSheetPrint: "Denne skyggetiddler indeholder CSS definitioner til print",
TabAll: "Denne skyggetiddler indeholder hvad der er i 'Alle' fanen i højre sidemenu",
TabMore: "Denne skyggetiddler indeholder hvad der er i 'Flere' fanen i højre sidemenu",
TabMoreMissing: "Denne skyggetiddler indeholder hvad der er i 'Mangler' fanen i højre sidemenu",
TabMoreOrphans: "Denne skyggetiddler indeholder hvad der er i 'Mangler tilknytning' fanen i højre sidemenu",
TabMoreShadowed: "Denne skyggetiddler indeholder hvad der er i 'Skyggede' fanen i højre sidemenu",
TabTags: "Denne skyggetiddler indeholder hvad der er i 'Tags' fanen i højre sidemenu",
TabTimeline: "Denne skyggetiddler indeholder hvad der er i 'Tidslinie' fanen i højre sidemenu",
ToolbarCommands: "Denne skyggetiddler bestemmer hvilke værktøjer der vises i tiddleres værktøjslinier",
ViewTemplate: "HTML skabelonen i denne skyggetiddler bestemmer hvordan tiddlere ser ud"
});
//}}}
/***
|''Name''|eMailMacro|
|''Source''|[[FND's DevPad|http://devpad.tiddlyspot.com/#eMailMacro]]|
|''Version''|0.97|
|''Status''|stable|
|''Author''|Rick Magers, FND|
|''Contributors''|HeX|
|''License''|public domain|
|''~CoreVersion''|2.1|
|''Type''|macro|
|''Requires''|N/A|
|''Overrides''|N/A|
|''Description''|create an e-mail from tiddler contents|
!Usage
{{{
<<email
[tiddler:"name"]
[to:"address"]
[cc:"address"]
[bcc:"address"]
[subject:"text"]
[maxChars:"number"]
[filterMacro:"true"]
[label:"text"]
[tooltip:"text"]
[permalink:"true"]
[class:"customClass"]
>>
}}}
All parameters are optional.
Multiple recipients can be added by separating the addresses with a comma.
!!Example
<<email subject:"Hello World" to:"foo@bar.baz,bar@foo.baz" label:"mail to Foo" tooltip:"send this tiddler to Foo" permalink:"true">>
!!Adding the macro to the toolbar
After importing this plugin tiddler, the [[ViewTemplate]] needs to be modified by adding {{{<span macro='email'></span>}}} to the toolbar:
{{{
<div class='toolbar'>
<span macro='toolbar newHere +editTiddler deleteTiddler permalink references jump closeOthers -closeTiddler'>
<span macro='email'></span>
</div>
}}}
(The respective version of the ViewTemplate might differ from the one displayed here.)
!Limitations
* limited number of characters for the message body (due to [[inherent limitations|http://www.boutell.com/newfaq/misc/urllength.html]] of {{{mailto:}}} links)
* the user's combination of browser and e-mail client needs to support the respective features of the mailto protocol
!Revision History
!!v0.1 (2007-06-16)
* initial release [[by Rick Magers|http://groups.google.com/group/TiddlyWiki/browse_thread/thread/ff7ae93cbe94345e/f6699532351f0802?#f6699532351f0802]]
!!v0.8 (2007-07-05)
* various modifications to enhance support for special characters ([[by FND and HeX|http://groups.google.com/group/TiddlyWikiDev/browse_thread/thread/ed196a32b295d2c9]])
!!v0.9 (2007-10-08)
* code refactoring
* added parameters for various fields
!!v0.91 (2007-10-10)
* fixed malformed mailto string (additional ampersand in some cases)
!!v0.95 (2007-12-27)
* added parameter for removing {{{<<email>>}}} macro calls from output (thanks [[ELS|http://www.tiddlytools.com]])
* using custom {{{escapeHTML()}}} function instead of {{{htmlDecode()}}}
!!v0.96 (2007-12-28)
* added parameter for specifying a target tiddler
* added parameter for limiting the number of characters returned from the tiddler body (default: 2000)
* some code refactoring
!!v0.97 (2009-03-19)
* added permalink parameter
!To Do
* documentation
* further enhance handling of special characters
!Code
***/
//{{{
(function() {
config.macros.email = {
subject: "default title",
body: "default contents",
label: "e-mail",
tooltip: "e-mail this tiddler",
btnClass: "button",
maxChars: 2000
};
config.macros.email.handler = function(place, macroName, params, wikifier, paramString, tiddler) {
// process parameters
var prms = paramString.parseParams(null, null, true);
var label = getParam(prms, "label") || this.label;
var tooltip = getParam(prms, "tooltip") || this.tooltip;
var btnClass = getParam(prms, "class") || this.btnClass;
var msgTo = getParam(prms, "to");
var msgCC = getParam(prms, "cc");
var msgBCC = getParam(prms, "bcc");
var msgSubject = getParam(prms, "subject");
var title = getParam(prms, "tiddler") || tiddler.title;
var filterMacro = getParam(prms, "filterMacro") == "true";
var permalink = getParam(prms, "permalink") == "true";
var maxChars = getParam(prms, "maxChars") || this.maxChars;
// retrieve tiddler contents
if(!msgSubject) {
if(store.getTiddler(title) || store.isShadowTiddler(title)) {
msgSubject = strEscape(title);
} else {
msgSubject = this.subject;
}
}
var msgBody = store.getTiddlerText(title, this.body);
if(permalink) {
config.commands.permalink.handler(null, null, tiddler.title); // XXX: hacky
msgBody = window.location.toString() + "\n\n" + msgBody;
}
if(filterMacro) {
msgBody = msgBody.replace(/<<email(.*|\n)?\>\>/gi, "");
}
msgBody = strEscape(msgBody);
// compose message
var msg = "";
if(msgTo) {
msg += msgTo;
}
msg += "?";
msg += "subject=" + msgSubject;
if(msgCC) {
msg += "&cc=" + msgCC;
}
if(msgBCC) {
msg += "&bcc=" + msgBCC;
}
msg += "&body=" + msgBody;
if(msg.length > maxChars) {
msg = msg.substr(0, maxChars);
}
// create link
wikify("[[" + label + "|" + "mailto:" + msg + "]]", place);
place.lastChild.className = btnClass;
place.lastChild.title = tooltip;
};
var strEscape = function(str) {
return entitify(escape(escapeHTML(str)));
};
/* inspired by the Prototype library (http://prototype.conio.net) */
var escapeHTML = function(str) {
var div = document.createElement("div");
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
};
// handle special characters
var entitify = function(str) {
return str
.replace(/%A2/g, "¢")
.replace(/%A3/g, "£")
.replace(/%A5/g, "¥")
.replace(/%AB/g, "«")
.replace(/%BB/g, "»")
.replace(/%B5/g, "µ")
.replace(/%C4/g, "Ä")
.replace(/%C5/g, "Å")
.replace(/%C6/g, "Æ")
.replace(/%D6/g, "Ö")
.replace(/%D8/g, "Ø")
.replace(/%DC/g, "Ü")
.replace(/%DF/g, "ß")
.replace(/%E4/g, "ä")
.replace(/%E5/g, "å")
.replace(/%E6/g, "æ")
.replace(/%F0/g, "ð")
.replace(/%F6/g, "ö")
.replace(/%F8/g, "ø")
.replace(/%FC/g, "ü")
.replace(/%u20AC/g, "€");
};
})();
//}}}
++++{{menubox popup{[Åbn][Luk]{{menubox floatright{[[Link|$1]]^^højreklik "gem link som"^^}}}
<html><div align="center"><iframe src="http://docs.google.com/viewer?url=$1&embedded=true" width="100%" height="1200" style="border: none;"></iframe></div></html>===
Skriv teksten til 'template'
config.options.chkShowRightSidebar=false;